2017-04-03 66 views
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

仅供参考:http://stackoverflow.com/questions/6443060/is-it-possible-to-reference-a-connection-string-in-another-connection-string – ACOMIT001

回答

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字符串并在运行时更改实体连接。