2017-04-03 16 views
0

web.configに2つの接続がありますが、基本的に同じデータベースを呼び出しています。 1つの設定を変更すると2番目の接続文字列も変更する必要があるので、これをより良い方法で管理したいと思います。接続文字列を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" /> 

ありがとうございます。

+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など)のすべての部分を別の接続文字列とsepareteで取得できます。

解決策:DefaultConnection文字列を取得し、実行時にエンティティ接続を変更します。