[英]Code first migrations - how to display pending model changes?
我正在使用代码首次迁移。 在构建新的迁移之前,有没有办法在包管理器控制台中显示挂起的模型更改?
接受的答案告诉如何在应用于数据库之前获取已经支架模型的SQL更改。
最初的问题是模型改变前脚手架(即在运行下一个“添加 - 迁移”之前,自上次“添加 - 迁移”以来模型的变化...)
对于那个答案,我只会说:无论如何,脚手架会给你预览。 我的意思是,运行“添加迁移预览”或类似的东西,它将创建您感兴趣的模型更改的脚手架迁移。然后只需从您的解决方案中删除...
这里的要点是,当实际“做”可以快速撤消时,不需要“预览”。 有些人可能会认为从解决方案的迁移部分删除一个脚手架迁移版本会破坏某些东西,但是没有得到很好的支持。
您甚至可以测试脚手架,然后按照Colin在他的回答中建议的那样创建sql脚本,以获得完整的SQL。 此时仍未执行任何操作,因此如果您愿意,请删除迁移版本。
在脚手架迁移之前,我无法知道在模型中查看挂起的更改,但我想不出使用Add-Migration
以便可以在迁移文件中查看挂起的更改。 无需将这些更改应用于数据库,并且始终可以删除scaffolded migration。
迁移到脚手架后,如果使用Update-Database -Script
实体框架生成SQL脚本而不是直接执行更改。
您可以使用get-help EntityFramework
在包管理器中get-help EntityFramework
您可以使用以下命令获取Update-Database命令的帮助:
get-help Update-Database
get-help Update-Database -detailed
get-help Update-Database -full
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.