实体框架子选择

时间:2015-04-13 17:30:46

标签: c# entity-framework linq-to-entities

我正在尝试根据与公司匹配的用户名恢复结果。涉及5个表。我可以做一个subselect(显然不是)或者最好的方法是什么。

db.Displays
     .Include(d => d.Location)
     .Include(d => d.Location.Region)
     .Include(d => d.Location.Region.Company.Users.Where(p=> p.LoginName == userName);

1 个答案:

答案 0 :(得分:3)

您不需要应用前两个Includes,第三个应该能够包含您需要的级别:

var displays= db.Displays.Include(d=>d.Location.Region.Company.Users).Where(d=>d.Location.Region.Company.Users.Any(p=>p.LoginName== userName));

Include之后,您需要调用Where方法根据要应用的条件过滤显示。

选中此link,了解Include扩展方法的工作原理。