迁移来自哪里?

时间:2013-10-11 21:27:13

标签: entity-framework ef-migrations

我首先使用代码生成数据库。 我希望数据库是使用add-migration InitialCreate

生成的迁移创建的

数据库确实使用InitialCreate迁移中的代码创建。

但是,当我尝试使用Add-Migration One

创建后续迁移时

我收到错误

  

无法生成显式迁移,因为以下内容   显式迁移正在等待处理:[201310112018474_InitialCreate]。   在尝试生成之前应用挂起的显式迁移   新的显式迁移。

我尝试运行Update-Database -Targetmigration:0,它列出了过去创建但不再存在的迁移。

  

PM> Update-Database -Targetmigration:0指定'-Verbose'标志   查看应用于目标数据库的SQL语句。   恢复迁移:[201310110726212_two,   201310110719552_InitialSchema,201310090149561_k1]。回复   自动迁移:201310110726212_two。恢复自动   迁移:201310110719552_InitialSchema。恢复自动   迁移:201310090149561_k1。

“迁移历史记录”表仅包含初始创建的一条记录。 我的问题是,PM如何了解这些不再存在的旧迁移?

注意 - 我已从迁移文件夹中删除了迁移

我正在使用EF5,C#Winforms

1 个答案:

答案 0 :(得分:0)

您的解决方案中有PM使用的迁移文件夹。

如果从解决方案中删除迁移文件夹并运行该应用程序,则将从代码中正确创建数据库。

如果由于您在代码中所做的更改而需要迁移的现有数据库(因此数据库需要反映此更改),您只需要迁移文件。