将连接字符串调用到web.config中的另一个连接字符串

时间:2017-04-03 02:14:57

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

我在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" />

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您没有义务使用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字符串并在运行时更改实体连接。