我想修改一个用EF 4.1(Code First)开发的数据库。我将项目升级到EF 4.3并按照以下步骤操作: http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx
一切进展顺利,但是当我想测试当前数据库(EF 4.1 Code First)时,Update-Database会引发此错误:
无法支持下一次迁移,因为目标数据库是 使用早于EF 4.3的Code First版本创建,但不是 包含迁移历史记录表。开始使用迁移 针对此数据库,确保当前模型与之兼容 目标数据库并执行迁移更新过程。 (在视觉上 Studio可以使用Package Manager中的Update-Database命令 用于执行迁移的控制台更新过程。)
我想知道如何迁移EF 4.1(Code First)数据库?此外,该数据库是实时的并且有数据,我不能删除表。
答案 0 :(得分:8)
您需要创建一个空迁移并在更改模型之前执行它。它将为您创建迁移历史记录表。之后,您可以使用迁移进行新的更改。我写了关于这个主题的walkthrough article。
答案 1 :(得分:0)
在对模型进行任何更改之前运行“Add-Migration InitialMigration -IgnoreChanges”。进行必要的更改,然后运行“update-database”