实体框架模型第一个连接字符串如何在将代码移动到服务器时进行更改

时间:2016-08-02 10:35:51

标签: c# asp.net-mvc entity-framework

我正在创建一个MVC应用程序。使用实体框架Db连接字符串包括在web.config中自动生成的Appsettings.config和Entity框架连接,其工作正常。在我计划将代码移动到服务器后,我有服务器详细信息,如

Appsettings中的连接字符串

Server Database :
 <add key="thenna" value="server=123.45.45.34;database=montage;user  id=*****;password=*******;trusted_connection=false;"/>  

 Local Database:
<add key="thenna" value="server=DESKTOP-QD6A981\SQLEXPRESS;database=tickandtie;user id=***;password=*****;trusted_connection=false;" />

当我想要哪一个我可以使用如果服务器db想要我是注释本地数据库连接字符串代码。 web配置实体框架代码:

<connectionStrings><add name="tickandtieEntities" connectionString="metadata=res://*/Entityframework.Tickmarks.csdl|res://*/Entityframework.Tickmarks.ssdl|res://*/Entityframework.Tickmarks.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DESKTOP-QD6A981\SQLEXPRESS;initial catalog=tickandtie;user id=sa;password=Tickmarks;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

当我移动服务器代码时,如何更改Web配置代码?我需要使用相同的代码,否则我需要使用服务器的详细信息?如何在发布应用程序后移动此代码服务器Web配置?

1 个答案:

答案 0 :(得分:1)

您可以使用web.config transfor根据目标环境更改连接字符串。

这里有几个链接

这里是我的一个项目中转换xml的一个例子:

<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations 
     see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <connectionStrings>
    <add name="OASIS" 
         connectionString="Data source=server\instance; Initial catalog=dbname; User Id=user;Password=pass;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" 
         xdt:Transform="SetAttributes" xdt:Locator="Match(name)"
         />
  </connectionStrings>

</configuration>

如你所见。变换与原始声明非常相似,但有2个aditional属性(xdt:Transform和xdt:Locator)定义转换过程。