2023年11月2日 星期四

EF Core Models With Fluent API - 2

在EF Core 的 Model 設計中,還是有一點眉角,這邊也稍微紀錄幾個,增添幾分記憶留存,除了 

Fluent API 支援多屬性組成複合 PK設定之外,再來就是如何設定欄位為 Guid或是索引



多屬性複合PK之前文章已有呈現,這次想透過 Fluent API設計叢集索引、流水號、Guid與 varchar 

型別的相關設定


設計一個 Blogs 資料表,以下是相關欄位


其中 SeqNo 為自動編號並且設定為叢集索引,而Id 為PK 且型別為 uniqueidentifier,且為非叢集


Model 程式設計,其中加上 Column Attr 指定排序


Fluent API 設計在 DbContext.cs


由上圖可看出

  • 設定是否為叢集索引:IsClustered(),預設為 true

  • 設定叢集索引名稱:HasDatabaseName()

  • 可加上叢集排序可使用降序:IsDescending(),多數欄位叢集亦可指定如 IsDescending(false,true) …

  • 設定是PK 名稱:HasName()

  • varchar 型別指定:IsUnicode(false)



另外,指定資料欄位型別也可以使用 HasColumnType(type(length)) 方式




【參考】

沒有留言:

張貼留言