2
我有兩個實體在我的項目Student
和Teacher
共享一個共同的基類,AccountModel
。基類包含由學生和教師(語義上,學生和教師是賬戶持有人,並有很好的做法,這樣可以防止的DRY原則衝突)要求流利的API表腳手架 - HasBaseType
在我流利的API的配置我有屬性:
builder
.Ignore<AccountModel>();
builder
.Entity<Student>()
.HasBaseType<AccountModel>()
.ToTable("Students");
builder
.Entity<Teacher>()
.HasBaseType<AccountModel>()
.ToTable("Teachers");
但當EF腳手架遷移,並生成一個新的數據庫,我得到一個AccountModel
表,但不是Students
或Teachers
表。是什麼賦予了?
根據[文檔](https://docs.microsoft.com/en-us/ef/core/modeling/relational/inheritance),目前EF Core僅支持TPH模式,因此您只能獲得數據庫表。我不知道'HasBaseType'的目的是什麼。 –
@IvanStoev什麼是TPH模式? – series0ne
包含所有後代字段加上「鑑別器」列的單個表格:) –