Entity framework 如何撤消上一个添加迁移命令?

Entity framework 如何撤消上一个添加迁移命令?,entity-framework,entity-framework-5,entity-framework-migrations,Entity Framework,Entity Framework 5,Entity Framework Migrations,我已经使用addmigration命令创建了一个迁移,但是我想更改该迁移的名称。如何撤消迁移命令,以便使用所需的新名称重新生成它 这只是删除生成的文件的问题,还是这可能是个坏主意?如果您没有使用更新数据库,您可以删除迁移文件。如果已运行更新,则应使用updatedatabase-TargetMigration“NameOfPreviousMigration”回滚更新,然后删除迁移文件 参考: 如果尚未使用更新数据库执行迁移,则可以使用相同的名称再次运行添加迁移(可能需要使用-Force)以重新执

我已经使用
addmigration
命令创建了一个迁移,但是我想更改该迁移的名称。如何撤消迁移命令,以便使用所需的新名称重新生成它


这只是删除生成的文件的问题,还是这可能是个坏主意?

如果您没有使用
更新数据库
,您可以删除迁移文件。如果已运行更新,则应使用
updatedatabase-TargetMigration“NameOfPreviousMigration”
回滚更新,然后删除迁移文件

参考:


如果尚未使用
更新数据库执行迁移,则可以使用相同的名称再次运行
添加迁移
(可能需要使用
-Force
)以重新执行脚手架。这在添加迁移命令的输出中有所说明。

EntityFrameworkCore 2.0附带了模型快照。您需要运行remove migration命令来更新模型快照。我已经了解到,如果手动删除迁移,EF Core将识别任何更新并为您还原快照,但这对我不起作用


要添加到@Ben的答案中,当使用
dotnet ef
命令变体时,这是您需要的删除命令:

dotnet ef迁移删除

这将删除上次迁移并更新模型快照。

只需使用命令即可

Remove-migration

它将删除上次添加的迁移和更新快照。它不会影响数据库,因此您必须首先回滚数据库。

通过以下命令更新您上次的完美迁移:

Update-Database –TargetMigration
只需使用命令:

Update-Database nameMigration -context nameContext
然后

Remove-migration -Context nameContext

如果这是添加的第一次迁移呢?@Jimmyt1988,使用更新数据库–TargetMigration:$initialdatabase然后删除它?我不明白。然后删除什么?@tnk479迁移文件。编辑后可以清楚地看到旧版本的EF(如EF 6)仅在EF Core中没有
删除数据库
删除迁移
命令。我希望它与
删除数据库
命令一起出现在EF 6中。。我太习惯了这不是一个好的解决方案,因为这不会恢复ApplicationDbContextModelSnapshot@Trojaner您是对的,因此响应是更好的解决方案。它还能清理文件吗?对我来说,它保留了迁移文件,但使用了空的Up()和Down()方法。