【发布时间】:2013-07-05 13:46:37
【问题描述】:
首先使用每个类型的表继承模型和实体框架代码,我试图急切地加载派生类的列表。请注意,我无法更改模型。
我有以下模型(过于简化)
public class Training
{
public string Name { get; set; }
public IList<Person> Persons { get; set; }
}
public abstract class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
[Table("Students")]
public class Student : Person
{
public string StudentNumber { get; set; }
public IList<Training> Trainings { get; set; }
}
[Table("Instructors")]
public class Instructor : Person
{
public DateTime StartingDate { get; set; }
public IList<Training> Trainings { get; set; }
}
我想按名称查询培训并急切加载包括派生类(学生和教师)在内的所有人员。早在 2011 年 4 月,Tom Dykstra seemed to claim it wasn't possible。
当导航属性位于 TPH 继承结构的派生类上时,实体框架的当前版本不支持一对零或一关系的即时加载。
这有改变吗?我正在使用 EF5。
【问题讨论】:
标签: entity-framework ef-code-first entity-framework-5 table-per-type