C# 如何显式加载所有集合项的导航属性?
以下是示例模型类,首先与实体框架代码一起使用:C# 如何显式加载所有集合项的导航属性?,c#,entity-framework-4,ef-code-first,C#,Entity Framework 4,Ef Code First,以下是示例模型类,首先与实体框架代码一起使用: public class Master { public int Id { get; set; } public Collection<Detail> Details { get; set; } } public class Detail { public int Id { get; set; } public Master Master { get; set; } public SubDetail SubDeta
public class Master
{
public int Id { get; set; }
public Collection<Detail> Details { get; set; }
}
public class Detail
{
public int Id { get; set; }
public Master Master { get; set; }
public SubDetail SubDetail1 { get; set; }
public SubDetail SubDetail2 { get; set; }
}
public class SubDetail
{
public int Id { get; set; }
}
我应该使用什么来加载子详细信息?试试看
context.Masters.Include(m => m.Details.Select(d => d.SubDetail1))
.Include(m => m.Details.Select(d => d.SubDetail2))
.Where(master => master.Id == 1);
非通用版本
context.Masters.Include("Details.SubDetail1")
.Include("Details.SubDetail2")
.Where(master => master.Id == 1);
DbQuery具有
Include
方法,该方法接收字符串路径作为参数。示例中的是否包含任何自定义扩展方法?如果您使用的是EF 4.3,您应该能够使用it@Dennis在答案中添加了非通用版本
context.Masters.Include("Details.SubDetail1")
.Include("Details.SubDetail2")
.Where(master => master.Id == 1);