我正在使用Model First来创建包含Entity Framework 6的数据库。
我有一个课程如下:
public partial class User : IdentityUser
{
}
用户是设计师中EF生成的类。但是,如何将User的继承属性映射到表的列?
我最大的问题是,尽管我将IdentityUser的继承添加到User类/表中,但当我回到EF设计器时,IdentityUser的属性不会显示出来。
答案 0 :(得分:1)
如果您使用非抽象基类并且未在用户上指定[Table],因此您的User和IdentityUser映射到单个表,那么您正在使用TPH(每个层次结构表:通过对SQL模式进行非规范化来启用多态,并使用包含类型信息)方案的类型鉴别器列。
所以,看起来这就是你需要的那个。您无需在Code First中执行任何特殊操作即可启用TPH。这是默认的继承映射策略。只需将其映射为任何其他实体,您就完成了!
映射示例: