2016-03-08 76 views
1

我們現在使用實體框架代碼第一次遷移技術。一切正常,但我們的Migrations文件夾由於我們正在對實體模式所做的更改而導致大量遷移文件變得越來越大。我很好奇,是否有一種方法可以在實體發生變化時更新一個或特定數量的文件,以便我們的Migrations文件夾看起來不那麼雜亂。另外,我不想放棄表格並重新創建它,因爲我將丟失所有保存的數據。實體框架代碼第一次遷移

+0

見克里斯的博客點擊這裏瞭解捲起你的遷移:http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab= per-12&at_pos = 0&at_tot = 1 –

回答

3

您可以簡單地將所有遷移合併到一個新文件中(如果您不關心保留每個遷移)。

爲此,只需刪除文件夾中當前的每個遷移,然後重新運行enable-migrations命令,然後重新運行add-migration命令。

Enable-Migrations 

add-migration InitialCreate 
+0

當您將它部署到擁有以前架構的客戶時,它如何工作?它會失敗,並說Up()中的大多數項目已經存在對象。 – monkeyjumps

0

您可以嘗試使用名爲MigrateDatabaseToLatestVersion的數據庫初始化程序。這會自動更新數據庫模式,當模型更改時不會丟失任何現有數據或其他數據庫對象。

Database.SetInitializer(
new MigrateDatabaseToLatestVersion<YourDbContext, 
DataLayer.Migrations.Configuration>()); 
相關問題