小编Meh*_* JM的帖子

实体框架Include()在复杂查询中不起作用

考虑遵循LINQ查询:

var item = (from obj in _db.SampleEntity.Include(s => s.NavProp1)
           select new
           {
                ItemProp1 = obj,
                ItemProp2 = obj.NavProp2.Any(n => n.Active)
           }).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

这按预期运行,但item.ItemProp1.NavProp1NULL.正如它在这里解释的那样,这是因为查询在使用后实际发生了变化Include().但问题是这种情况的解决方案是什么?

编辑:

当我像这样更改查询时,每件事都可以正常工作:

var item = (from obj in _db.SampleEntity.Include(s => s.NavProp1)
           select obj).SingleOrDefault();
Run Code Online (Sandbox Code Playgroud)

关于这篇文章,我想问题是什么......但作者提供的解决方案不适用于我的情况(因为在最终选择中使用匿名类型而不是实体类型).

c# linq entity-framework

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

entity-framework ×1

linq ×1