EF(实体框架)4.3迁移工具不适用于EF 4.1 DB

时间:2012-03-01 20:01:08

标签: entity-framework entity-framework-4.1 code-first entity-framework-4.3 ef-migrations

我想修改一个用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)数据库?此外,该数据库是实时的并且有数据,我不能删除表。

2 个答案:

答案 0 :(得分:8)

您需要创建一个空迁移并在更改模型之前执行它。它将为您创建迁移历史记录表。之后,您可以使用迁移进行新的更改。我写了关于这个主题的walkthrough article

答案 1 :(得分:0)

在对模型进行任何更改之前运行“Add-Migration InitialMigration -IgnoreChanges”。进行必要的更改,然后运行“update-database”