在运行update-database之前删除代码优先迁移

时间:2016-07-12 13:52:54

标签: c# asp.net-mvc entity-framework ef-migrations

这个令人沮丧的简单看似问题很难在Google和SO上找到答案。我有一个ASP.NET MVC项目,我使用实体框架与代码优先的方法。我去添加了另一个迁移,但是当我运行Add-Migration MigrationName命令时,我拼错了MigrationName

我尚未运行Update-Database。重命名自动创建的迁移类名称是否足够?或者我是否必须首先删除迁移并添加一个具有正确名称的迁移?如果是这样,我该怎么做?只需删除自动创建的迁移类,还是有更多内容?

1 个答案:

答案 0 :(得分:2)

虽然您可以重命名它们,但我认为您可能会遇到一些与*.resx文件有关的问题,因为它包含一个压缩的EDMX文件以及一些命名内容。最简单的方法是删除根迁移类(也将删除migration.Designer.csmigration.resx文件)并重新创建它。

如果你已经运行了Update-Database命令,你仍然可以通过回滚来实现它:

Update-Database -TargetMigration NameOfPreviousMigration

(如果回滚会破坏数据,您可能需要添加-Force