2016-09-18 34 views
1

我有一個在Azure中託管的webAPI作爲我的後端。我使用Code-First創建我的實體。我可以通過種子方法預先喂好我的數據庫,但是如果我完成了模型更改並記住需要向種子添加某些內容,則無法運行種子方法。 多個帖子建議簡單運行更新數據庫。我確實看到:「運行種子法」。然後發佈到天藍色,我的表仍然是空的。我不想改變模型來觸發種子,因爲那不是乾淨的解決方案。EF運行Seed方法無模型更改

我一直在使用每個註釋行,但無濟於事

public MyContext() : base("name=MyContext") 
    { 
     //Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, MyProject.Migrations.Configuration>("DefaultConnection")); 
     //Database.SetInitializer<MyContext>(new DropCreateDatabaseAlways<MyContext>()); 
    } 

已經嘗試過是不是我應該在蔚藍的側做,或者只是顯然行不通,除非我改變我的一個模型! ?

UPDATE1:

我已經遷移文件夾,並按照命令來啓用它,並更新數據庫,並當我有一個模型的變化,該數據庫更新就好了。這是有效的,沒有問題。唯一的問題,如果我想添加到種子方法的東西,我想執行它,而不必改變我的模型。

+0

您將什麼發佈到Azure,您的項目或數據庫?你可以創建數據庫的本地副本,連接到該數據庫,並查看它是否得到更新? – DrewJordan

回答

0

如果您先使用代碼,那麼您可以輕鬆管理和處理所有遷移。

您需要使用包管理器控制檯鍵入「enable-migrations」。在此之後,您將擁有一個名爲Migrations的文件夾。

請檢查link瞭解更多信息。

讓我們知道您是否有任何問題。

+0

閱讀我的更新1 – user1019042