如何使实体框架迁移使用web.config转换?

时间:2014-03-04 13:17:34

标签: entity-framework web-config web.config-transform

当你应用任何命令,如

  • '更新数据库
  • '添加迁移'

EF使用主web.config中的连接字符串

即使您已使用xml转换配置了web.debug.config和web.release.config

这意味着,我必须进入并冒险忘记在发布之前更改我的真实web.config

1 个答案:

答案 0 :(得分:4)

我认为在本地运行web.config转换的唯一方法是使用带有以下参数的MSBuild,其中[YourTransformationConfiguration]是要使用的配置的名称,例如:调试或发布:

msbuild PathToProject /T:Package /P:Configuration=[YourTransformationConfiguration] /P:AutoParameterizationWebConfigConnectionStrings=False

其输出将在以下地址提供:

[ProjectFolder]\obj\[YourTransformationConfiguration]\Package\PackageTmp

从此处可以在程序集上运行migrate.exe,这与运行Update-Database PowerShell脚本类似。如果您使用Nuget,它将位于EntityFramework包的工具文件夹中。我在启动和运行时遇到了一些麻烦,但有一个有用的答案Stack Overflow在这里回答:

Getting Migrate.exe to work