我在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="data source=.\SQLEXPRESS;initial catalog=db-AUTH;persist security info=True;user id=test;password=test123;MultipleActiveResultSets=True;App=EntityFramework"" 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" />
任何建议都将不胜感激。
答案 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字符串并在运行时更改实体连接。