C# 在C中运行Nuget命令#

C# 在C中运行Nuget命令#,c#,entity-framework-6,nuget,C#,Entity Framework 6,Nuget,因此,在开始之前,我需要为解决方案中的所有EF迁移生成sql脚本。我可以通过PackageManager控制台手动完成这项工作,但老实说,我宁愿编写一些代码来完成这项工作,也不愿手动完成 我已经创建了一个控制台应用程序,它使用反射来查找我的项目文件中的所有迁移类(代码优先),并对它们进行正确排序。我现在需要调用nuget命令 Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration: MyFirstMi

因此,在开始之前,我需要为解决方案中的所有EF迁移生成sql脚本。我可以通过PackageManager控制台手动完成这项工作,但老实说,我宁愿编写一些代码来完成这项工作,也不愿手动完成

我已经创建了一个控制台应用程序,它使用反射来查找我的项目文件中的所有迁移类(代码优先),并对它们进行正确排序。我现在需要调用nuget命令

Update-Database -Script -SourceMigration: $InitialDatabase -TargetMigration: MyFirstMigration
然后使用稍微修改的语法再次调用它,为每个迁移脚本依次生成每个Up脚本

Update-Database -Script -SourceMigration: MyFirstMigration -TargetMigration: MySecondMigration
然后我需要以相反的顺序再次调用它们来生成向下脚本


有没有人或者有没有人能给我指点一下我该怎么做?我找到了这个链接,它告诉您如何调用Install Package命令,但我不知道如何为EntityFramework加载相关的命令。您应该明确阅读此链接。
更新数据库-脚本
使用相同的方法,这意味着您可以绕过它,直接使用
MigratorScriptingDecorator
,您可以创建一个幂等式脚本,逐个测试每个迁移并应用缺少的脚本:要从代码生成脚本,请参见Wiktor Zychla-谢谢,这正是我所需要的,比调用powershell脚本容易得多!好了,开始工作了,现在生成了所有的向上脚本,但现在我需要生成向下脚本。当我调用Script.Update(“v3”、“v2”)时,它会抛出一个不稳定的问题,即“不支持在两个指定迁移之间编写降级脚本”有什么提示吗?你应该仔细阅读这篇文章。
updatedatabase-Script
使用相同的方法,这意味着你可以绕过它直接使用
MigratorScriptingDecorator
。另外,你可以创建一个,幂等式脚本,将逐个测试每个迁移并应用缺少的脚本:要从代码生成脚本,请参阅Wiktor Zychla-谢谢,这正是我需要的,比尝试调用powershell脚本容易得多!好了,开始工作了,现在生成了所有的向上脚本,但现在我需要生成向下脚本。当我调用Script.Update(“v3”、“v2”)时,它会抛出一个不稳定的问题,即“不支持在两个指定迁移之间编写降级脚本”。有指针吗?