我最近編寫了一個帶代碼第一後端(SQL CE 4.0數據庫)的WPF應用程序。該應用程序現在處於瘋狂狀態,正在被非技術人員使用。實體框架代碼第一次遷移生產(WPF應用程序)
我做了一些更改,我需要添加一個遷移以反映我已成功完成的更改。只需使用Update-Database
命令,我就可以在本地機器上正常工作。
當我部署更新時,這將如何工作?我似乎無法確定我的客戶數據庫將如何遷移。每當我運行在不是我的開發機器的機器上時,我只是得到以下錯誤;
無法更新數據庫以匹配當前模型,因爲存在掛起的更改並且自動遷移已禁用。將掛起的模型更改寫入基於代碼的遷移或啓用自動遷移。將DbMigrationsConfiguration.AutomaticMigrationsEnabled設置爲true以啓用自動遷移。
P.s.我絕對不希望啓用自動遷移;)
更新----
這裏是我的初始化器;
Database.SetInitializer(new Initializer());
這是我的實際初始化者;
public class Initializer : MigrateDatabaseToLatestVersion<Context, Configuration>
{
}
這裏是我的配置類的構造函數;
public Configuration()
{
AutomaticMigrationsEnabled = false;
DbMigrator migrator = new DbMigrator(this);
if (migrator.GetPendingMigrations().Any())
{
_pendingMigrations = true;
migrator.Update();
}
}
非常感謝評論。已經嘗試過了。我上面更新了我的代碼。 –