2

对于后台上下文,我们在 MVC 3 应用程序中使用 EF 4.3.1 代码优先和迁移。过去,我们手动完成了开发和暂存部署,但现在我们正在尝试使用 MSBUILD 任务和 TFS 作为源代码控制来自动化创建开发和暂存构建的过程。

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

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

提前感谢您的投入。

4

3 回答 3

0

您应该只调用 powershell:请参阅使用 MSBuild 中的 Powershell 脚本、计划任务等

<Target Name="AfterBuild">
    <Exec Command="powershell.exe -command &quot;&amp; {.\Register-myscript.ps1 &apos;$(TargetPath)&apos;}&quot;" />
</Target>
于 2012-06-07T03:15:03.953 回答
0

您可以让 MSBuild 任务运行 Migrate.exe,如此处所述如何使用 MSBuild 和 Migrate.exe 运行实体框架迁移

于 2014-10-02T09:20:05.560 回答
0

这是 msbuild 任务的工作版本。它将 migrate.exe 从 EF 6 的工具文件夹复制到构建目录中。为了使它起作用,所有路径都是绝对的。

  <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>
于 2015-10-06T16:41:14.967 回答