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

本文关键字:代码移动 服务器 何更改 模型 框架 第一个 字符串 连接 实体 | 更新日期: 2023-09-27 17:59:47

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

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;" />

当我想要哪一个时,如果服务器数据库需要,我可以使用本地数据库连接字符串代码。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配置?

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

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

这里有几个链接

  • http://www.asp.net/mvc/overview/deployment/visual-studio-web-deployment/web-config-transformations
  • https://msdn.microsoft.com/en-us/library/dd465326(v=vs.110).aspx

在我的一个项目中,这里有一个转换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>

正如你所看到的。转换与原始声明非常相似,但有两个定义转换过程的可选属性(xdt:transform和xdt:Locator)。