我有一个dbcontext,我查询它返回一个模型,其中包含所有项目的总数和一个表示项目子集的Ienumerable类型。我有三个环境:localhost,Development和Test。使用相同版本的代码,Development和localhost将返回包含count和项列表的完整数据集。 Test使用空的项列表返回正确的计数。所有环境之间的代码集都是相同的。我已将所有环境都指向同一数据库,以隔离数据库中可能存在的任何问题。查询如下所示:
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 :(得分:0)
问题是实体框架架构中的外键定义错误。我仍然不确定为什么某些环境创建了查询的工作版本,并且一个环境创建了一个非工作查询。我将继续研究,但修复外键定义是解决方案。