我在项目Student
和Teacher
中有两个实体,它们共享一个公共基类AccountModel
。基类包含学生和老师所要求的财产(从语义上讲,学生和老师都是帐户持有人,并且为了良好的实践,这可以防止违反干燥原则)
在我流利的API配置中,我有:
builder
.Ignore<AccountModel>();
builder
.Entity<Student>()
.HasBaseType<AccountModel>()
.ToTable("Students");
builder
.Entity<Teacher>()
.HasBaseType<AccountModel>()
.ToTable("Teachers");
但是,当EF脚手架迁移并生成一个新数据库时,我会得到AccountModel
表,但没有Students
或Teachers
表。什么给?
当前,实体框架核心仅支持映射继承的每个层次结构(tph)模式(http://www.learnentityframeworkcore.com/inheritance),这就是为什么为什么在所有类型的表。
表每种混凝土类型(TPC)在积压库上,并且正在积极考虑,每类(TPT)模式的表也被视为。