实体框架4.1急切加载 - 关于抽象类

时间:2011-05-18 09:26:35

标签: entity-framework eager-loading

我在Code First方法中使用EF 4.1。 我有一个抽象类:

public abstract class Base
{
}

还有两个失败的课程:

public Class Derived1 : Base
{
     public Division division{ get; set; }
}

public Class Derived2 : Base
{
     public Brand brand{ get; set; }
}

最后,我有一个查询选择Base类的列表,我想执行预先加载,但我不知道我的派生类是谁:

using (var db = new MyContext())
{
     var lst = db.Base.Include(WHAT SHOULD I WRITE HERE).ToList();
}

任何想法?

1 个答案:

答案 0 :(得分:3)

你必须这样做:

var lst = db.Base.OfType<Derived1>().Include(d => division)
            .Union(
               db.Base.OfType<Derived2>().Include(d => d.brand))
            .ToList();