使用 Entity Framework 5,我们在我们的应用程序中使用代码优先迁移。每个开发人员都有自己工作的数据库。
我不小心清空了我的:那里什么都没有了,没有表,甚至没有迁移历史表。
因此,我尝试通过执行 PM 控制台再次更新数据库update-database
。它立即给了我一个表不存在的错误,而它应该在我的初始代码迁移中创建。
有趣的是,PM 控制台还显示正在应用哪些迁移,其中不包含初始创建代码迁移,因此根本不创建任何表,当然在以后的迁移中失败。
我尝试执行update-database -targetmigration:initialcreate
它给我的消息是该代码迁移不存在,而它是从 cs 文件直接复制/粘贴,所以 id 必须是正确的(注意:这适用于其他迁移)。
我也试过了update-database -targetmigration:0
,update-database -targetmigration: $InitialDatabase
两者都给了我'Target database is already at version 0'
。
我也尝试过完全删除数据库并让 EF 创建它,也没有工作,它一直跳过 initialcreate 迁移。
那么如何让代码迁移来执行我的 initalCreate 代码迁移?