实体框架4.1渴望加载 - 抽象类 [英] Entity Framework 4.1 eager loading - on abstract classes
本文介绍了实体框架4.1渴望加载 - 抽象类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个抽象类:
public abstract class Base
{
}
和两个已经发布的课程:
public Class Derived1:Base
{
public Division division {get;组; }
}
public Class Derived2:Base
{
public品牌品牌{get;组; }
}
最后,我有一个查询选择一个基类列表,我想要加载,但我不知道我的派生类是谁:
using(var db = new MyContext())
{
var lst = db.Base.Include(应该写在这里).ToList();
}
任何想法?
解决方案
你必须这样做:
var lst = db.Base.OfType& Derived1>()。Include(d => division)
.Union(
db.Base.OfType< Derived2>()。Include(d => d.brand))
.ToList();
I'm using EF 4.1 at Code First approach. I have an abstract class:
public abstract class Base
{
}
And two dereived classes:
public Class Derived1 : Base
{
public Division division{ get; set; }
}
public Class Derived2 : Base
{
public Brand brand{ get; set; }
}
At last, I have a query that selects a list of the Base class, and i want to perform eager loading, but i don't know who my derived classes are:
using (var db = new MyContext())
{
var lst = db.Base.Include(WHAT SHOULD I WRITE HERE).ToList();
}
Any Ideas?
解决方案
You must do this:
var lst = db.Base.OfType<Derived1>().Include(d => division)
.Union(
db.Base.OfType<Derived2>().Include(d => d.brand))
.ToList();
这篇关于实体框架4.1渴望加载 - 抽象类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文