Entity Framework 仅按条件包含项目

Entity Framework include items only by condition

我需要我的上下文按条件包含 sonns,我需要未删除的行(逻辑删除)。

我明白我不能在包含中添加条件;所以我想过滤上下文,但它不起作用。

var aa = ctx.aa
         .Include(t => t.vari)
         .ToList()
         .FirstOrDefault();

ctx.vari.Where(bi => bi.ID == 10 && bi.Deleted == 1).ToList();

谢谢!

这不会是性能最高的查询。最好删除 ToList()

 var aa = ctx.aa.Include(t => t.vari).ToList().FirstOrDefault(); 

 // You missed the variable before ID
 ctx.vari.Where(bi => bi.ID == 10 && bi.Deleted == 1).ToList();

正如 codelahiru && hbulens 所指出的,您错过了 ID 的 bi。

免责声明:我是项目的所有者Entity Framework Plus

Query IncludeOptimized 功能允许使用 include 进行过滤并同时优化查询性能(支持 EF5、EF6)

var aa = ctx.aa
            .IncludeOptimized(t => t.vari.Where(bi => bi.ID == 10 && bi.Deleted == 1))
            .FirstOrDefault();

文档:EF+ Query IncludeOptimized