EF4 Eager从嵌套和共享表加载

时间:2012-01-10 15:29:34

标签: entity-framework-4 eager-loading

在我的数据库中,我有一个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")方法是否会为正确的方面找到正确的地址?

我如何在一个查询中加载所有这些数据?

2 个答案:

答案 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")
相关问题