Sql server 如何首先为生产环境配置EF数据库?

Sql server 如何首先为生产环境配置EF数据库?,sql-server,asp.net-mvc,entity-framework,entity-framework-5,Sql Server,Asp.net Mvc,Entity Framework,Entity Framework 5,因此,我们首先使用EF数据库开发了一个MVC应用程序,并尝试将该解决方案部署到生产环境中。但是,数据库服务器位于不同的服务器上,因此我们必须提供一个指向DB服务器的conenction字符串。我们尝试了几种方法,但没有成功 首先部署EF DB的方法是什么 你试过这个代码吗 Configuration connectionConfiguration = WebConfigurationManager.OpenWebConfiguration("~"); connectionConf

因此,我们首先使用EF数据库开发了一个MVC应用程序,并尝试将该解决方案部署到生产环境中。但是,数据库服务器位于不同的服务器上,因此我们必须提供一个指向DB服务器的conenction字符串。我们尝试了几种方法,但没有成功


首先部署EF DB的方法是什么

你试过这个代码吗

Configuration connectionConfiguration = WebConfigurationManager.OpenWebConfiguration("~");
        connectionConfiguration.ConnectionStrings.ConnectionStrings["test"].ConnectionString = txtConnectionString.Text;
connectionConfiguration.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("connectionStrings");

它将用新值重写web.config

当部署到生产环境时,应用程序通常在
发布
模式下编译。在此模式下,您可以使用
Web.Release.config
指定在生产中应该不同的变量

假设
Web.config
中的连接字符串为

<add name="MyContext"
     connectionString="DevConnectionString" 
     providerName="System.Data.SqlClient" />
部署到生产环境时,连接字符串将自动更改为“ProdConnectionString”


有关Web.config转换的详细信息,请参见

请添加您尝试过的方法。只需在Web.config中更改您的connectionstring即可。
<add name="MyContext"
     connectionString="ProdConnectionString" 
     providerName="System.Data.SqlClient"
     xdt:Transform="SetAttributes"
     xdt:Locator="Match(name)" />