我是ADO .NET技术的新手。我知道EF6是建立在ADO .NET之上的。我查看了一些Microsoft的数据技术参考站点(http://msdn.microsoft.com/en-us/data/)。
我试图弄清楚在初始创建后修改的CodeFirst创建的数据库是否可以在不丢失数据的情况下进行修改和迁移。其网站上的教程视频之一表示,在对架构进行更改后,无法在不丢失数据的情况下迁移使用实体设计器创建的DatabaseFirst EF映射。
基于CodeFirst设计更改模式的迁移是否也会遇到迁移后数据丢失的问题?
答案 0 :(得分:3)
这是你应该阅读的好文章:
在部署部分中,您看到了MigrateDatabaseToLatestVersion 正在使用初始化程序。 Code First还提供其他初始化器, 包括CreateDatabaseIfNotExists(默认值), DropCreateDatabaseIfModelChanges(您之前使用过的)和 DropCreateDatabaseAlways。 DropCreateAlways初始化程序可以 用于设置单元测试的条件。你也可以写 你自己的初始值设定项,你可以明确地调用初始化程序 你不想等到应用程序读取或写入 数据库。在本教程于11月编写时, 2013年,您之前只能使用Create和DropCreate初始值设定项 您启用迁移。实体框架团队正致力于制作 这些初始化程序也可用于迁移。
有关初始值设定项的详细信息,请参阅了解数据库 实体框架代码中的初始化器首先和本书的第6章 编程实体框架:Julie Lerman和Rowan的Code First 磨坊主。 引用那篇文章。