首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Contoso University 教學 (八):Table-Per-Hierarchy 繼承映射實作

     編輯:關於ASP.NET

將 Instructor 與 Student 共同屬性提取至基類 Person,採 TPH (Table-Per-Hierarchy) 策略:單一資料表儲存所有衍生類別,含 Discriminator 欄位區分類型。

實作步驟

  1. 建立 Person 基類,Instructor/Student 繼承
  2. OnModelCreating 設定 TPH 映射:modelBuilder.Entity<Person>().Map<Instructor>(...).Map<Student>(...)
  3. 將專案中 InstructorID/StudentID 統一為 PersonID

TPH vs TPT

  • TPH:單表、含 Discriminator、查詢效能優 (無 Join)
  • TPT:各類別一表、結構正規化、查詢需 Join、效能較差

EF Core 預設 TPH,適合繼承層級淺、共同屬性多的場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved