2014-12-04 79 views
1

我是ADO .NET技術的新手。我知道EF6是建立在ADO .NET之上的。我檢查了一些微軟的數據技術參考站點(http://msdn.microsoft.com/en-us/data/)。實體框架6 CodeFirst/DatabaseFirst遷移數據保存?

我想弄清楚CodeFirst創建的初始創建後修改的數據庫是否可以在不丟失數據的情況下進行修改和遷移。其網站上的教程視頻之一表示,在對模式進行更改後,使用實體設計器創建的DatabaseFirst EF映射無法在不丟失數據的情況下進行遷移。

遷移基於CodeFirst設計的模式更改是否也會因遷移後數據丟失問題而受到影響?

回答

3

這是一篇好文章,你應該閱讀:

http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application

在你看到的MigrateDatabaseToLatestVersion 初始化部署部分被使用。 Code First還提供其他初始化程序, ,包括CreateDatabaseIfNotExists(默認值), DropCreateDatabaseIfModelChanges(您之前使用的)和 DropCreateDatabaseAlways。 DropCreateAlways初始值設定項可以是 ,對設置單元測試條件很有用。你也可以寫你自己的初始值設定項,如果你不想等到應用程序讀取或寫入數據庫 ,你可以明確地調用初始值設定項。在本教程寫於2013年11月的時候,您只能在 之前使用Create和DropCreate初始化工具啓用遷移。實體框架團隊正在努力使這些初始化程序可以與遷移一起使用 。

有關初始化的更多信息,請參閱瞭解數據庫 初始值設定在實體框架代碼優先和編程實體框架書 的第6章:由朱莉·勒曼和羅文 米勒的Code First。那篇文章引用了 。