急切加载List <ofsomebaseclass> </ofsomebaseclass>的导航属性

时间:2012-04-26 23:14:22

标签: entity-framework-4 ef-code-first

使用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>

1 个答案:

答案 0 :(得分:0)

这是EF目前没有解决方案的reported problem