代码优先迁移 - 如何显示待定模型更改?

And*_*Gis 26 .net c# ef-migrations

我正在使用代码首次迁移.在构建新的迁移之前,有没有办法在包管理器控制台中显示挂起的模型更改?

TCC*_*TCC 69

接受的答案告诉如何在应用于数据库之前获取已经支架模型的SQL更改.

最初的问题是模型改变前脚手架(即在运行下一个"添加 - 迁移"之前,自上次"添加 - 迁移"以来模型的变化...)

对于那个答案,我只会说:无论如何,脚手架会给你预览.我的意思是,运行"添加迁移预览"或类似的东西,它将创建您感兴趣的模型更改的脚手架迁移.然后只需从您的解决方案中删除...

这里的要点是,当实际"做"可以快速撤消时,不需要"预览".有些人可能会认为从解决方案的迁移部分删除一个脚手架迁移版本会破坏某些东西,但是没有得到很好的支持.

您甚至可以测试脚手架,然后按照Colin在他的回答中建议的那样创建sql脚本,以获得完整的SQL.此时仍未执行任何操作,因此如果您愿意,请删除迁移版本.


Col*_*lin 30

在脚手架迁移之前,我无法知道在模型中查看挂起的更改,但我无法想到不使用迁移的原因,Add-Migration以便可以在迁移文件中查看挂起的更改.无需将这些更改应用于数据库,并且始终可以删除scaffolded migration.

迁移是脚手架后,如果使用Update-Database -Script实体框架生成SQL脚本而不是直接执行更改.

您可以使用包管理器获取EntityFramework的帮助 get-help EntityFramework

您可以使用以下命令获取Update-Database命令的帮助:

get-help Update-Database

get-help Update-Database -detailed

get-help Update-Database -full

  • 我不认为这是OP所说的,但这是我的问题,所以谢谢 (2认同)