6

我想修改一个使用 EF 4.1(代码优先)开发的数据库。我将项目升级到 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 版本创建的,并且不包含迁移历史记录表。要开始对该数据库使用迁移,请确保当前模型与目标数据库兼容并执行迁移更新过程。(在 Visual Studio 中,您可以使用包管理器控制台中的 Update-Database 命令来执行迁移更新过程)。

我想知道如何迁移 EF 4.1(代码优先)数据库?此外,数据库是实时的并且有数据,我不能删除表。

4

2 回答 2

7

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

于 2012-03-01T23:42:01.347 回答
0

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

于 2013-08-05T07:14:42.250 回答