在我的数据库中,我有一个Company
。公司有Branches
,其中Address
。该公司还有Accounts
,其中ReturnAddresses
也有Address
。
我想在一个查询中急切加载所有这些数据,例如:
from c in context.Company
.Include("Branches").Include("Address")
.Include("Accounts").Include("ReturnAddresses").Include("Address")
where c.CompanyId.Equals(1)
select c
两个.Include("Address")
方法是否会为正确的方面找到正确的地址?
我如何在一个查询中加载所有这些数据?
答案 0 :(得分:3)
在EF 4.1中,您可以按照以下步骤进行操作
from c in context.Company
.Include(c => c.Branches.Select(b => b.Address))
.Include(c => c.Accounts.Select(a => a.ReturnAddresses.Select(r => r.Address)))
where c.CompanyId.Equals(1)
select c
答案 1 :(得分:1)
使用点符号,就像在导航属性上一样:
Include("Entity.Property")