【问题标题】:Call connection string into another connection string in web.config将连接字符串调用到 web.config 中的另一个连接字符串
【发布时间】:2017-04-03 02:14:57
【问题描述】:

我在 web.config 中有两个连接,基本上它们调用的是同一个数据库。我想以更好的方式进行管理,因为更改一个配置也需要更改第二个连接字符串。

 <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;persist security info=True;user id=test;password=test123;database=db-AUTH" providerName="System.Data.SqlClient" />

<add name="dbEntities" connectionString="metadata=res://*/InsuranceFinderModel.csdl|res://*/InsuranceFinderModel.ssdl|res://*/InsuranceFinderModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;initial catalog=db-AUTH;persist security info=True;user id=test;password=test123;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我的问题是,有什么方法可以将连接字符串调用到另一个连接字符串中。

例如。数据库实体的默认连接连接字符串类似于

<add name="dbEntities" connectionString="metadata=res://*/InsuranceFinderModel.csdl|res://*/InsuranceFinderModel.ssdl|res://*/InsuranceFinderModel.msl;provider=System.Data.SqlClient;provider connection string= DefaultConnection" providerName="System.Data.EntityClient" />

任何建议将不胜感激。

【问题讨论】:

标签: c# .net asp.net-mvc c#-4.0 web-config


【解决方案1】:

您没有义务使用 app.config(web.config) 文件中定义的连接字符串进行实体连接。您可以在运行时更改实体连接字符串。阅读这篇文章:http://www.c-sharpcorner.com/UploadFile/dacca2/pass-connection-string-in-run-time-to-entity-framework/

您还可以使用 StringConnectionBuilder 类 https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.initialcatalog.aspx 获取另一个连接字符串并分隔连接字符串的每个部分(DataBase、DataSource 等)。

解决办法是:获取DefaultConnection字符串,在运行时改变实体连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2013-03-04
    • 1970-01-01
    相关资源
    最近更新 更多