EF Update当前迁移文件而不是创建新文件

时间:2016-02-16 22:42:04

标签: c# entity-framework ef-migrations

我知道它违背了迁移的目的,但是对于我为模型所做的每一次更改创建一个新的迁移文件对我来说没有意义。

我从启用迁移开始,然后初始化迁移,visual studio生成201502151515_initial.cs

我在201502151515_initial.cs文件中做了一些更改,然后去更新数据库。

然后我明白我在模型中有一些错误。 然后,如果我尝试update-database它将失败并向我显示此错误:

  

无法更新数据库以匹配当前模型,因为有   挂起的更改和自动迁移已禁用。要么写   待定模型更改为基于代码的迁移或启用自动   移民。将DbMigrationsConfiguration.AutomaticMigrationsEnabled设置为   如果启用自动迁移,则为true您可以使用添加迁移   命令将挂起的模型更改写入基于代码的迁移。

如果我尝试添加迁移,那么它将为我创建另一个文件

无论如何都要更新当前的201502151515_initial.cs文件?

我可以手动完成这项工作,确保一切正常。 我可以删除当前文件并再次创建它,在这种情况下我与数据库不一致(因为我已经更新数据库)。 或者找到更新当前文件的更好方法。

有没有更好的方法呢?

2 个答案:

答案 0 :(得分:0)

也许你更喜欢自动迁移?这与您正在寻找的解决方案类似。

您不需要添加迁移,只需推送到数据库

即可
Enable-Migrations –EnableAutomaticMigrations
Update-Database

答案 1 :(得分:0)

在dotnet核心中变得很容易。

dotnet ef migrations remove,然后再dotnet ef migrations add init