EF 4.1,Code-First:急切加载级联集合

时间:2011-03-21 13:01:24

标签: .net entity-framework ef-code-first entity-framework-4.1

如果我有以下班级模型......

public class A
{
    public int AId { get; set; }
    public ICollection<B> BCollection { get; set; }
}

public class B
{
    public int BId { get; set; }
    public ICollection<C> CCollection { get; set; }
}

public class C
{
    public int CId { get; set; }
}

...是否可以从包含所有级联集合的数据库中急切加载A类型的对象?

我可以像BCollection这样包括:

A a = context.ASet.Where(x => x.AId == 1)
          .Include(x => x.BCollection)
          .FirstOrDefault();

我是否还可以以某种方式包含所有已加载CCollection对象的B,以便通过单个数据库查询获取内存中所有依赖对象的A

1 个答案:

答案 0 :(得分:22)

同时使用.Include(x => x.BCollection.Select(b => b.CCollection)) described here

它也适用于级联。每当您需要加载导航属性时,集合使用.Select