前言
像地址的物件,在 EF Core 中有那些的設定方式呢?
預設會是在原有的 Table 中增加欄位。
也可以指定欄位名稱,
或是讓它存到別的資料表。
實作
新增 Address 物件(它沒有 Id 哦~)
1 | public class Address |
設定 Customer 有 2 個 Address 的屬性(ShipToAddress, BillToAddress)
1 | public class Customer |
在 DbContext 類別中 OnModelCreating Method 設定 OwnsOne,
1 | public partial class 你的Context: DbContext |
更新到 DB 後,就會新增 6 個欄位,如下,
接再來,將 ShipToAddress 中 Street 的欄位名稱改成 ShiptoStreet,
將 BillToAddress 屬性資料改存到 BillToAddresses 資料表。
在 DbContext 類別中 OnModelCreating Method 調整,
1 | public partial class 你的Context: DbContext |
透過 update-database
後,
DB 中 Customers資料表中欄位名稱從 ShipToAddress_Street 已經改成 ShiptoStreet,
也新增了 BillToAddress 。