.net – EF 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();

我还可以包含所有加载的B对象的CCollection,以便在内存中使用单个数据库查询获得所有依赖对象的A?

最佳答案
使用.Include(x => x.BCollection.Select(b => b.CCollection))也是described here.

它也适用于级联.每次你需要加载导航属性是收集使用.选择.

转载注明原文:.net – EF 4.1,代码优先:加载级联集合 - 代码日志