我有一堂課,在這堂課中有“郵政編碼”
public string CityName { get; set; }
public string PostalCode { get; set; }
public string Country { get; set; }
我正在創建遷移
add-migration AddPostalCode
然后我更新資料庫
update-database
錯誤:
42701: column "PostalCode" of relation "City" already exists
因為 PostalCode 是手動添加到資料庫中的 City 表中的。
不僅 PostalCode,還有其他手動添加的欄位。如何通過忽略這些欄位來更新資料庫。
uj5u.com熱心網友回復:
英孚 6
如果你有一個現有的模式,那么你應該創建它的快照
Add-Migration InitialCreate –IgnoreChanges
然后將您的更改添加到模型中,即將您添加PostalCode到模型中,然后添加遷移和更新:
Add-Migration AddPostalCode
Update-Database
EF 核心
如果您使用的是 EF Core then-IgnoreChanges不是可用引數,則需要使用空Up()方法創建初始遷移并將其應用于創建基線快照:
Add-Migration InitialCreate
Update-Database
將您的更改添加到您的模型類,即添加PostalCode到您的模型。然后為更改添加新遷移并應用它:
Add-Migration AddPostalCode
Update-Database
uj5u.com熱心網友回復:
您也可以直接從表中洗掉它分配的郵政編碼列
要么
進入從 add-migration AddPostalCode 創建的遷移,并從將 PostalCode 列添加到表的 Up 部分中洗掉代碼。
但是,您不應該手動將表列添加到資料庫中,因此如果可能的話,請從資料庫中洗掉該列,并讓您??的代碼優先方法成為您添加列的唯一方法。在使用 EF 和代碼優先方法時手動添加列是非常糟糕的做法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/427602.html
標籤:C# PostgreSQL 实体框架 实体框架核心 实体框架迁移
上一篇:是否可以從字串映射jooq記錄
