使用EF Code First并给定一个包含List的实体,我如何热切地加载该实体的整个对象图:
示例:
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>
?