我想使用EF代碼第一次遷移來在數據庫中創建我的模型。但是,我將使用的數據庫已經存在並由其他應用程序共享。我的問題是:EF Code First Drop Database?
遷移擦除數據庫?那將是一場災難! 遷移是否會抹去任何東西?
我想使用EF代碼第一次遷移來在數據庫中創建我的模型。但是,我將使用的數據庫已經存在並由其他應用程序共享。我的問題是:EF Code First Drop Database?
遷移擦除數據庫?那將是一場災難! 遷移是否會抹去任何東西?
問:遷移是否擦除數據庫?
- 答:不,你可以做到這一點,而不刪除它。
您必須按如下所示在包裝管理器控制檯上執行此操作。
步驟1:
PM > Add-Migration InitialCreate –IgnoreChanges
上述命令將創建一個空的遷移與當前模型作爲快照。
第2步:
PM > Update-Database
上面的命令將應用遷移InitialCreate
到數據庫。因此,實際遷移不包含任何更改,它將在__MigrationsHistory
表中添加一行,表明此遷移已應用。
您可以在這裏閱讀更多關於它的信息:CF Migrations with an existing database
我通常在這種情況下做的是創建到現有數據庫的遷移,然後將所有內容從Up和Down方法中移除並運行更新。通過這種方式,您的代碼首次遷移將與數據庫中當前的最新數據保持同步,因此,通過添加第二次遷移,任何新的模式更改都將成爲唯一的選擇。