Question

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.

Was it helpful?

Solution

I think the only way to run web.config transformations locally is to use MSBuild with the following parameters, where [YourTransformationConfiguration] is the name of the configuration to use, e.g. Debug or Release:

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

The output of which will be available at:

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

From here you can run migrate.exe on your assembly, which is similar to running the Update-Database PowerShell script. If you used Nuget, this will be in the tools folder of the EntityFramework package. I had some trouble getting this up and running, but there's a useful answer Stack Overflow answer here:

Getting Migrate.exe to work

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top