5

When you apply any commands like

  • 'update-database'
  • 'add-migration'

The EF uses the connection string in your main web.config

even if you have configured web.debug.config and web.release.config with xml transformation

This means, I have to go in and risk forgetting to change my true web.config back prior to a release.

4

1 回答 1

4

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

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

其输出将在以下位置提供:

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

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

让 Migrate.exe 工作

于 2014-03-05T05:43:02.760 回答