2

使用 EF Code First 并给定一个包含列表的实体,我怎样才能急切地加载该实体的整个对象图:

例子:

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>这些具体类型中包含的实例?

4

1 回答 1

0

这是EF中报告的问题,目前没有解决方案。

于 2012-04-27T07:29:30.950 回答