我首先使用代码生成数据库。 我希望数据库是使用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
答案 0 :(得分:0)
您的解决方案中有PM使用的迁移文件夹。
如果从解决方案中删除迁移文件夹并运行该应用程序,则将从代码中正确创建数据库。
如果由于您在代码中所做的更改而需要迁移的现有数据库(因此数据库需要反映此更改),您只需要迁移文件。