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

时间:2015-03-27 04:02:02

标签: sql-server asp.net-mvc entity-framework entity-framework-5

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

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

2 个答案:

答案 0 :(得分:0)

您是否尝试过此代码?

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

它将使用新值重写您的web.config

答案 1 :(得分:0)

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

说明Web.config中的连接字符串是

<add name="MyContext"
     connectionString="DevConnectionString" 
     providerName="System.Data.SqlClient" />

您可以在Web.Release.config中添加:

<add name="MyContext"
     connectionString="ProdConnectionString" 
     providerName="System.Data.SqlClient"
     xdt:Transform="SetAttributes"
     xdt:Locator="Match(name)" />

部署到生产时,连接字符串将自动更改为&#34; ProdConnectionString&#34;。

有关Web.config转换的详细信息,请参阅How to: Transform Web.config When Deploying a Web Application Project