我有一个EF6.1 EDMX(数据库优先)模型,我使用TPT继承几种类型(即Employee:Person),但是,在生成的Model.Context.cs
类中我只有{{1}我的基类型的类,而不是继承类。是否需要(或可以)对EDMX模型或T4模板执行任何操作以为继承类生成DbSet<T>
?
答案 0 :(得分:4)
您可以通过
从上下文中获取子类型context.People.OfType<Employee>()
或者您可以通过部分类扩展上下文,在该部分类中定义子类型DbSets的属性:
partial class Context
{
public DbSet<Employee> Employees { get; set; }
}
这比修改t4模板容易得多,因为标准t4模板可能会在将来的版本中更改,因此您必须再次修改它们。