代码优先迁移 – 如何显示待定模型更改?
我正在使用代码首次迁移。 在构建新的迁移之前,有没有办法在包管理器控制台中显示挂起的模型更改?
如果使用Update-Database -Script
entity framework生成SQL脚本而不是直接执行挂起的更改。
您可以使用get-help EntityFramework
在包管理器中get-help EntityFramework
您可以使用以下命令获取Update-Database命令的帮助:
get-help Update-Database
get-help Update-Database -detailed
get-help Update-Database -full
接受的答案告诉如何在应用于数据库之前获取已经支架模型更改的SQL。
最初的问题是模型改变前脚手架(即在运行下一个“添加 – 迁移”之前,自上次“添加 – 迁移”以来模型的变化…)
对于那个答案,我只会说:脚手架,无论如何,它为您提供预览。 我的意思是,运行“添加迁移预览”或类似的东西,它将创建您感兴趣的模型更改的脚手架迁移。然后只需从您的解决方案中删除…
这里的要点是,当实际“做”可以快速撤消时,不需要“预览”。 有些人可能会认为从解决方案的迁移部分删除一个脚手架迁移版本会破坏某些东西,但是没有得到很好的支持。
您甚至可以测试脚手架,然后按照Colin在他的回答中建议的那样创建sql脚本,以获得完整的SQL。 此时仍然没有做任何事情,所以如果您愿意,请删除迁移版本。