我首先使用 Entity Framework 5.0 数据迁移和代码。当我向我的模型添加一个新字段并在包管理器控制台中执行以下命令时。
"Add-migration AddedField"
我得到的只是一个名为“n_AddedField”的空迁移,向上和向下方法不包含任何逻辑。
我尝试了很多东西,重新安装 EF nuget 包,清理我的解决方案,重建,手动删除所有生成的文件和目录。
然后我决定放弃我所有的迁移并重新开始,然后它变得很奇怪。删除所有迁移和数据库中的迁移历史表后,我使用 CreateDatabaseIfNotExists 初始化程序重新创建了数据库。完成此操作后,我应该能够创建一个新的初始迁移。但是当我尝试创建一个新的迁移时,我收到一条错误消息,指出有待处理的迁移,并列出了我刚刚从项目中删除的所有迁移。
我不知道 EF 为什么以及如何仍然记得这些迁移。我什至尝试搜索文件内容以查看迁移是否保存在其他地方或其他地方。但是什么都没有。。
当 scott hansleman 在舞台上演示时,数据迁移看起来非常整洁,但对于实际工作,我开始寻找替代方案。
项目开始时,我们使用的是 EF 4.x,不久前切换到 5.0,但自从切换后,我已经成功添加了一堆迁移。
有谁知道如何解决这个问题?基本上我只想能够添加迁移,并生成一个带有更改的 sql 脚本。