2014-12-21 67 views
0

我使用EF 6進行移植和播種,大多數時候效果很好。 這是我第一次使用它,我對播種有問題。asp.net代碼第一次移植播種

我有存儲在我的數據庫(木製表格)中的表格,這是我的領域模型的起點,所以我創建並添加種子中的所有東西並將它們添加到表格中。如果我添加額外的屬性或關係到其他數據庫表更新數據庫工作很好,並添加新的東西到數據庫。它也說「runnig種子」,但從來沒有更新我現有的表格!我總是要刪除數據庫,然後再次運行更新數據庫到新的東西添加到現有的數據,即使我用:

context.Tables.AddOrUpdate(newTable); 

有沒有辦法強制接種法對其進行更新?

我再試一次。 種子方法不會更新現有內容。 您添加一個人:

new Person 
{ 
    ID = 1, 
    Name = "Smith" 
} 

現在運行播種方法。 然後額外的數據再次

new Person 
{ 
    ID = 1, 
    Name = "Smith", 
    Prename = "John" 
} 

種子添加到人,你的數據庫上的人不會被更新!

我現在的解決方法是刪除數據庫並重新種子。 DropAndCreateIfModelChanges不起作用,因爲模型不會更改,只有播種。

回答

0

對不起,無法準確理解你的問題。數據的播種是你的責任,實體框架不能對它做任何事情。只需在你的DbMigrationsConfiguration課程中使用Seed方法編寫正確的代碼。

然後,您可以在包管理器控制檯中使用update-database命令觸發Seed方法執行。當第一次使用DbContext時,它也會被調用,所以你可以重新啓動你的應用程序池作爲選擇。