【发布时间】:2019-12-29 12:12:28
【问题描述】:
我是 Entity Framework Core 的新手,只是一个关于使用 --force 删除应用迁移的问题,因为我对 shell 窗口中的显示消息感到困惑。
假设我创建了一个具有一些属性的类。然后我添加一个新属性,然后添加一个迁移并更新到这个迁移,以便数据库中的表有一个新列。然后我删除了这个已经应用的迁移
dotnet ef 迁移删除 --force
显示信息是这样的:
删除迁移“_AddNewProperty”而不检查数据库。如果此迁移已应用于数据库,您将需要手动撤消它所做的更改。 删除迁移“_AddNewProperty”。 正在恢复模型快照。
所以关键字不检查数据库似乎表明只删除了migration.cs文件,EF不会费心对数据库中的表进行任何更改(降级到以前的迁移状态(通过调用已删除迁移的 Down() 方法),您需要手动反转它所做的更改表示我需要自己删除表中的新列。
但是在我删除了应用的迁移之后,数据库中的基础表也得到了更新(EF自动删除了新列),那么“不检查数据库”和“手动反转它所做的更改”是什么意思?
【问题讨论】:
标签: c# entity-framework entity-framework-core