实体框架模型优先和继承

时间:2014-01-04 07:07:10

标签: entity-framework ef-model-first

我正在使用Model First来创建包含Entity Framework 6的数据库。

我有一个课程如下:

public partial class User : IdentityUser
{
}

用户是设计师中EF生成的类。但是,如何将User的继承属性映射到表的列?

我最大的问题是,尽管我将IdentityUser的继承添加到User类/表中,但当我回到EF设计器时,IdentityUser的属性不会显示出来。

1 个答案:

答案 0 :(得分:1)

如果您使用非抽象基类并且未在用户上指定[Table],因此您的User和IdentityUser映射到单个表,那么您正在使用TPH(每个层次结构表:通过对SQL模式进行非规范化来启用多态,并使用包含类型信息)方案的类型鉴别器列。

所以,看起来这就是你需要的那个。您无需在Code First中执行任何特殊操作即可启用TPH。这是默认的继承映射策略。只需将其映射为任何其他实体,您就完成了!

映射示例:

enter image description here

enter image description here