我有一个看起来像这样的模型:
public abstract class Parent
{
public int Id { get; set; }
}
public class Child11 : Parent
{}
public class Child2 : Parent
{
public virtual Dependency Dependency { get; set; }
}
public class Dependency
{
public int Id { get; set; }
public virtual ICollection<Child2> Children { get; set; }
}
我正在尝试找出由谁来编写加载所有父项并急切加载对所有 Child2 的依赖项的 Linq 查询。这可能吗?我已经尝试了所有我能想到的 Linq 语句组合,但都没有成功。
最佳答案
如果您只需要加载 child2,您可以使用:
var child2 = context.Parents
.OfType<Child2>()
.Include(c => c.Dependency)
.ToList();
如果您还需要加载所有其他派生类型,您很可能需要使用第二个查询或尝试建立一些联合。 EF 中的多态查询不适用于预加载。
关于linq - Entity Framework 4.3 - 带有预加载的多态查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9712838/