C# 在web.config中将连接字符串调用为另一个连接字符串

C# 在web.config中将连接字符串调用为另一个连接字符串,c#,.net,asp.net-mvc,c#-4.0,web-config,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.S

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

我的问题是,是否有任何方法可以将连接字符串调用为另一个连接字符串

比如说。默认连接字符串到db实体中,如

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


任何建议都将不胜感激。

您无需使用app.config(web.config)文件中定义的连接字符串进行实体连接。您可以在运行时更改实体连接字符串。请阅读这篇文章

您还可以使用StringConnectionBuilder类获取另一个连接字符串并分离连接字符串的每个部分(数据库、数据源等)

解决方案是:在运行时获取DefaultConnection字符串并更改实体连接。

供参考: