Entity framework 如何使用MSBuild任务自动执行EF 4.3代码优先SQL架构迁移脚本

Entity framework 如何使用MSBuild任务自动执行EF 4.3代码优先SQL架构迁移脚本,entity-framework,msbuild-task,entity-framework-migrations,Entity Framework,Msbuild Task,Entity Framework Migrations,对于后台环境,我们首先使用EF4.3.1代码,并在MVC 3应用程序中进行迁移。在过去,我们已经手动完成了开发和登台部署,但现在我们正尝试使用MSBUILD任务和TFS作为源代码控制来自动化创建开发和登台构建的过程 我的问题与上面的上下文有关,比如如何在MSBUILD任务中使用EF migrations powershell命令“Update Database-verbose-script”生成sql迁移脚本 有没有办法在MSBUILD任务中使用本机EF 4.3.1迁移命令来自动生成差异sql脚

对于后台环境,我们首先使用EF4.3.1代码,并在MVC 3应用程序中进行迁移。在过去,我们已经手动完成了开发和登台部署,但现在我们正尝试使用MSBUILD任务和TFS作为源代码控制来自动化创建开发和登台构建的过程

我的问题与上面的上下文有关,比如如何在MSBUILD任务中使用EF migrations powershell命令“Update Database-verbose-script”生成sql迁移脚本

有没有办法在MSBUILD任务中使用本机EF 4.3.1迁移命令来自动生成差异sql脚本


提前感谢您的投入

你应该给powershell打个电话:看到了吗


您应该直接调用powershell:请参阅



您可以让MSBuild任务运行此处解释的Migrate.exe

您可以让MSBuild任务运行此处解释的Migrate.exe

这是MSBuild任务的工作版本。它将migrate.exe从EF 6的tools文件夹复制到build目录中。为了使其工作,所有路径都是绝对路径

  <Target Name="AfterBuild">
<copy SourceFiles="$(SolutionDir)packages\EntityFramework.6.1.3\tools\migrate.exe" DestinationFolder="$(TargetDir)" />
<exec Command="$(TargetDir)migrate.exe *YourData.dll* Configuration /startUpDirectory:$(TargetDir) /startUpConfigurationFile:$(TargetDir)WebStart.NET.dll.config /verbose"/>
</Target>

以下是msbuild任务的工作版本。它将migrate.exe从EF 6的tools文件夹复制到build目录中。为了使其工作,所有路径都是绝对路径

  <Target Name="AfterBuild">
<copy SourceFiles="$(SolutionDir)packages\EntityFramework.6.1.3\tools\migrate.exe" DestinationFolder="$(TargetDir)" />
<exec Command="$(TargetDir)migrate.exe *YourData.dll* Configuration /startUpDirectory:$(TargetDir) /startUpConfigurationFile:$(TargetDir)WebStart.NET.dll.config /verbose"/>
</Target>


将PowerShell与MSBuild一起使用有什么问题?我同意@tzerb。MSBuild只是一个声明式工作流引擎。您可以调用所需的任何工具。@tzerb,我们已经有了开发/登台/生产环境的构建项目,我们可以执行批处理文件来启动构建,该构建工作正常。我想了解的是如何在msbuild项目文件中使用EF migrations powershell命令,以便msbuild项目可以处理脚本生成。@PreetSangha,我同意您的看法,我们可以调用任何其他工具,但由于我们在处理构建项目方面没有太多经验,因此我们不太清楚如何编写脚本。将PowerShell与MSBuild一起使用有什么问题?我同意@tzerb。MSBuild只是一个声明式工作流引擎。您可以调用所需的任何工具。@tzerb,我们已经有了开发/登台/生产环境的构建项目,我们可以执行批处理文件来启动构建,该构建工作正常。我想了解的是如何在msbuild项目文件中使用EF migrations powershell命令,以便msbuild项目可以处理脚本生成。@PreetSangha,我同意你的观点,我们可以调用任何其他工具,但由于我们在构建项目方面没有太多经验,因此我们不太清楚如何编写脚本。让我来测试一下。我会就此回复你。这并没有回答问题,它只是显示了如何调用PowerShell来执行一些无关的命令。这如何帮助调用更新数据库迁移命令?让我来测试一下。我会就此回复你。这并没有回答问题,它只是显示了如何调用PowerShell来执行一些无关的命令。这有助于如何调用更新数据库迁移命令?