Csharp/C#教程:自动化EF-Migrations“Update-Database -Script”分享


自动化EF-Migrations“Update-Database -Script”

我正在使用EF迁移来跟踪我们的EF代码优先数据库模型的更改。 现在我需要为每次迁移生成一个SQL脚本,以便我可以将这组脚本传递给DBA。

我能用Update-Database -Script ...生成SQL脚本Update-Database -Script ...

但是,我想自动化这个。 我希望-Script开关接受一个指定SQL编写位置的参数,但事实并非如此。 此外,输出重定向不起作用,因为SQL脚本不会写入STDOUT,而是写入临时文件。 我认为无法从脚本中获取该临时文件。

有关如何自动化迁移 – > SQL脚本生成的任何想法? 也许有一些我不知道的神奇的PowerShell技巧?

编辑:顺便说一句,使用migrate.exe或任何其他“迁移感知”方法不是一个选项,交付SQL脚本是必须的。

最后我找到了解决方案。 我不知道的是,可以从C#代码生成SQL脚本,如下所示:

 using System.Data.Entity.Migrations; using System.Data.Entity.Migrations.Infrastructure; var migrator = new DbMigrator(new Configuration()); var scriptor = new MigratorScriptingDecorator(migrator); var sql = scriptor.ScriptUpdate("Name-Of-Source-Migration", "Name-Of-Target-Migration"); 

migrator.GetLocalMigrations()一起,您可以完全控制生成的脚本的粒度。

上述就是C#学习教程:自动化EF-Migrations“Update-Database -Script”分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1016923.html

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐