0
我有一个dbcontext,我查询返回一个模型,其中包含所有项目的总数和一个代表项目的子集的Ienumerable类型。我有三种环境:localhost,Development和Test。使用相同版本的代码,Development和localhost会返回包含count和项目列表的完整数据集。测试用一个空的物品清单返回正确的计数。代码集在所有环境中都是相同的。我已将所有环境指向同一数据库,以隔离数据库中可能存在的任何问题。查询看起来像:实体框架返回部分为空数据集
var rawItems = context.entity.Where(x => x.id == ID).OrderBy(x => x.id);
totalCount = rawItems.Count();
return rawItems.Skip(0).Take(25).Select(x => x.ToExternalModel())
ToExternalModel是变换方法,它采用了对象,并将其转变为一个不同的模型。这段代码没有抛出异常。我删除了所有尝试/捕获以确保。
我真的认为这是一个环境问题,我真的不知道它可能是什么。
您为什么需要跳过(0)?如果您只是返回rawItem而不将其转换为外部模型,结果是否相同? – Nilesh
这段代码表示我用来执行的参数。在真正的代码中,0是一个变量,可能不是0.我没有尝试过只返回原始项目列表,但是为了工作,这意味着转换在三台机器中的一台上表现不同。 – user2698212
事实证明,在测试服务器上生成的查询与在其他服务器上生成的查询不同(不同的连接结构)。我仍在研究它为什么会有所不同。 – user2698212