实体框架包含的属性返回错误的记录数

时间:2019-06-18 16:57:01

标签: c# entity-framework

我正在使用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);

1 个答案:

答案 0 :(得分:0)

遇到同样的问题,我在一个导航属性上覆盖了IEquality。 我在干净的背景支架上进行了测试,以发现问题