2010-06-16 89 views
5

我已經使用Visual Studio 2010創建了一個實體框架4模型,並從中生成了一個數據庫。現在我發現自己添加了新屬性(使用默認值),更改了列的文檔,更改了列的名稱,更改了多次列的類型。所有不需要太多「額外工作」的任務爲了不可能自動實現(以我的愚見)。每次我做「從模型生成數據庫」,當然丟失了表格數據。Entitiy Framework:「從模型更新數據庫」而不是「從模型生成數據庫」

有沒有一種方法可以更新數據庫的體系結構 - 可以保持表數據不變?可能與某些用戶交互,特別是在更改類型等時?或者這種功能太難以實現以可靠的方式工作?

在此先感謝!歡呼聲中,大衛

+1

你看到了什麼:「我只是改變了這兩個屬性的名稱,它們的順序相同,名稱大致相同,但這更好。 Visual Studio看到什麼:「這五個屬性有一個對象,現在有一個對象具有這五個屬性,其中三個屬性相同」。你如何期望VS分辨哪個是哪個,哪個是他們改變而不是新的? – 2010-06-16 13:43:58

+1

只是一個建議....我通常創建數據庫,然後從數據庫更新模型。原因是我創建了一個名爲ApplicationModelDB的數據庫,另一個名爲ApplicationDB。 applicationModelDB沒有數據,但這是我進行更新的地方。一旦我得到實體XML和數據庫我想要它,我將我的數據庫腳本應用到我的Applcation數據庫。這完成了兩件事。我可以跟蹤創建/更新數據庫所需的SQL,或恢復到舊版本。它允許我管理實體框架設計器的奇怪怪癖。 – 2010-06-16 14:05:02

+0

http://stackoverflow.com/questions/3144117/entity-framework-4-update-database-schema-from-model-without-wiping-the-table的副本。 – 2010-08-29 08:55:43

回答

5

諾姆·本 - 阿米 - MSFT1(微軟員工)回答我的問題在http://social.msdn.microsoft.com/Forums/en-us/adodotnetentityframework/thread/3adc080f-ee8c-4104-be29-95b2fb3fabe9如下:

我們已經建立實體設計數據庫電源組,以支持這一點。您可以在這裏下載它:http://visualstudiogallery.msdn.microsoft.com/en-us/df3541c3-d833-4b65-b942-989e7ec74c87

它包含一個數據庫生成工作流程,用於設計人員進行遷移,而不是刪除/創建。

此信息「按原樣」提供,不提供任何擔保,也不賦予任何權利。

我還沒有測試過該工具,但我猜這些信息可能對其他人也是有價值的。

相關問題