实体框架6 CodeFirst / DatabaseFirst迁移数据保存?

时间:2014-12-04 10:10:52

标签: entity-framework

我是ADO .NET技术的新手。我知道EF6是建立在ADO .NET之上的。我查看了一些Microsoft的数据技术参考站点(http://msdn.microsoft.com/en-us/data/)。

我试图弄清楚在初始创建后修改的CodeFirst创建的数据库是否可以在不丢失数据的情况下进行修改和迁移。其网站上的教程视频之一表示,在对架构进行更改后,无法在不丢失数据的情况下迁移使用实体设计器创建的DatabaseFirst EF映射。

基于CodeFirst设计更改模式的迁移是否也会遇到迁移后数据丢失的问题?

1 个答案:

答案 0 :(得分: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初始化程序可以   用于设置单元测试的条件。你也可以写   你自己的初始值设定项,你可以明确地调用初始化程序   你不想等到应用程序读取或写入   数据库。在本教程于11月编写时,   2013年,您之前只能使用Create和DropCreate初始值设定项   您启用迁移。实体框架团队正致力于制作   这些初始化程序也可用于迁移。

     

有关初始值设定项的详细信息,请参阅了解数据库   实体框架代码中的初始化器首先和本书的第6章   编程实体框架:Julie Lerman和Rowan的Code First   磨坊主。   引用那篇文章。