#entity-framework #eager-loading
#entity-framework #ускоренная загрузка
Вопрос:
Я использую EF 4.1 в подходе Code First. У меня есть абстрактный класс:
public abstract class Base
{
}
И два удаленных класса:
public Class Derived1 : Base
{
public Division division{ get; set; }
}
public Class Derived2 : Base
{
public Brand brand{ get; set; }
}
Наконец, у меня есть запрос, который выбирает список базового класса, и я хочу выполнить быструю загрузку, но я не знаю, кто мои производные классы:
using (var db = new MyContext())
{
var lst = db.Base.Include(WHAT SHOULD I WRITE HERE).ToList();
}
Есть идеи?
Ответ №1:
Вы должны сделать это:
var lst = db.Base.OfType<Derived1>().Include(d => division)
.Union(
db.Base.OfType<Derived2>().Include(d => d.brand))
.ToList();