【发布时间】:2012-04-26 23:14:21
【问题描述】:
首先使用 EF 代码并给定一个包含列表的实体,我怎样才能急切地加载该实体的整个对象图:
例子:
public class Foo
{
public int Id { get; set; }
public List<BarBase> Bars { get; set; }
}
public class BarBase
{
public int Id { get; set; }
public string Text { get; set; }
}
public class BarTypeA : BarBase
{
public List<Baz> Bazes { get; set; }
}
public class BarTypeB : BarBase
{
public List<Quux> Quuces { get; set; } { get; set; }
}
如果BarBase 不是可以包含多个不同子类型实例的基类,我可以使用
.Include("Bars").Include("Bars.Bazes")
如果我尝试
.Include("BarBase").Include("BarBase.Bazes").Include("BarBase.Quuces")
我得到了错误
指定的包含路径无效。 EntityType 'BarBase' 确实 不要声明名为“Bazes”的导航属性。
但是我该如何处理Bars 可以包含不同具体类型的情况,并且我想急切地加载所有这些实例,包括这些具体类型中包含的List<T>?
【问题讨论】:
标签: entity-framework-4 ef-code-first