2013-10-29 84 views
0

用到的技術:如何使用EF 4.4與現有數據庫更新POCO數據庫?

  • SQL Server 2012的
  • ASP.NET MVC 4
  • EF 4.4
  • 的Windows 8專業版(開發機)
  • Windows Server 2012中

我EF正在使用EF來處理由EF處理的數據庫更新,但沒有進行遷移,只有很少人和短時間。我們投入生產,並且需要進行一些後期變更,因爲沒有遷移的情況下,EF現在變得複雜了,我們不能再放棄這個表了。由於我們時間不夠,我決定禁用集成(Database.SetInitializer<Context>(null);)並手動完成所有更改(DB和POCO)。

現在我需要重新激活該功能。我的問題是,現在是否可以在已經設置好此環境並且擁有大量數據的情況下激活遷移

我讀過這篇文章沒有成功:

http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx

我感謝所有幫助。

回答

1

我會考慮使用SQL Server Data Tools來更新您的生產環境。它提供的控制不僅僅是實體框架創建的(例如存儲過程)。

如果您不知道自己已更改了什麼,請從您的更新的DbContext創建一個新的(空的)數據庫。然後使用SSDT將新創建的數據庫與生產數據庫進行比較。它將顯示您在數據庫模式中更改的內容並提供更新腳本。數據比較和 也支持基於現有數據的'智能插入'。

+0

好的,這解決了我關於更新當前數據庫的問題。但我也想讓EF從現在開始處理這個問題。那麼,你會知道如何做到這一點,如果有可能啓用遷移?謝謝。 – eestein