Entity Framework 的「Update Model from Database」功能支援新增資料表/欄位、處理重命名、偵測繼承與映射變更。本文以 Northwind 資料庫為例,示範基本操作流程與常見衝突處理。
Products 表Products 改名為 Product

加入 Orders、Order_Details、Suppliers 表後,驗證出現錯誤:
「Non-primary-key column(s) [SupplierID] being mapped in both fragments...」
原因:初始只有 Products 表時,SupplierID 為純量屬性;加入 Suppliers 後,關聯映射也指向 SupplierID 欄位,造成重複映射。

解決:手動刪除 Product 實體的 SupplierID 純量屬性,保留導航屬性關聯,驗證通過。
資料庫對 Suppliers 表:新增 IsCurrent 欄位、刪除 ContactTitle 欄位。更新模型後:
IsCurrent 自動新增為屬性ContactTitle 屬性保留,驗證錯誤:「Property ContactTitle is not mapped...」
解決:手動刪除 ContactTitle 屬性。此為向導保守策略——寧可保留舊屬性讓開發者手動確認,避免誤刪。
資料庫新增 PremiumSuppliers、SupplierContracts 兩表,皆與 Suppliers 為 PK-to-PK 關聯。更新模型後,向導分析映射並提示可轉為繼承或多表映射 (詳見下篇)。
