2

我有兩個實體在我的項目StudentTeacher共享一個共同的基類,AccountModel。基類包含由學生和教師(語義上,學生和教師是賬戶持有人,並有很好的做法,這樣可以防止的DRY原則衝突)要求流利的API表腳手架 - HasBaseType

在我流利的API的配置我有屬性:

builder 
    .Ignore<AccountModel>(); 

builder 
    .Entity<Student>() 
    .HasBaseType<AccountModel>() 
    .ToTable("Students"); 

builder 
    .Entity<Teacher>() 
    .HasBaseType<AccountModel>() 
    .ToTable("Teachers"); 

但當EF腳手架遷移,並生成一個新的數據庫,我得到一個AccountModel表,但不是StudentsTeachers表。是什麼賦予了?

+0

根據[文檔](https://docs.microsoft.com/en-us/ef/core/modeling/relational/inheritance),目前EF Core僅支持TPH模式,因此您只能獲得數據庫表。我不知道'HasBaseType'的目的是什麼。 –

+0

@IvanStoev什麼是TPH模式? – series0ne

+0

包含所有後代字段加上「鑑別器」列的單個表格:) –

回答