2014-12-04 46 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。那篇文章引用了 。