我正在使用Entity Framework和Entity Framework Plus从DB提取一些代码。下面是有问题的代码。
我遇到的是在查询中定义.Include("places.websites")
时,仅返回了数据库中2条预期记录中的1条。
如果我注释掉.Include("places.websites")
并使用延迟加载,则会填充预期的2个网站结果。唯一的问题是这种方法会降低性能。
有人遇到过吗?
var data = db.providers.Where(predicate).Take(upperLimit)
.Include(x => x.professionals)
.Include(x => x.r_degrees)
.Include(x => x.category)
.Include(x => x.places)
.Include("places.websites") // Line in question
.Include("places.phones")
.Include("places.businessHours")
.Include("places.businessHours.specialHours1")
.Include("places.businessHours.timePeriods")
.Include(x => x.socialMedia)
.FromCache();
var json = JsonConvert.SerializeObject(data.ToList(), setting);
答案 0 :(得分:0)
遇到同样的问题,我在一个导航属性上覆盖了IEquality。 我在干净的背景支架上进行了测试,以发现问题