私はEF5データベースを使用しています-最初にASP.NETWebフォームアプリ(4.5)のテストおよびprodデータベースサーバー(同一のスキーマ)を使用します。global.asaxのApplication_Startでターゲット接続文字列を動的に設定する方法はありますか?したがって、テストサーバーにいるときは「test」接続文字列を使用し、prodサーバーにいるときは「prod」接続文字列を使用します。
3 に答える
http://msdn.microsoft.com/en-us/library/gg679467%28v=vs.103%29.aspx DbContext(string connection)を確認しましたか?
ObjectContext: http: //msdn.microsoft.com/en-us/library/bb739017.aspx
ObjectContextの接続文字列は、従来の接続文字列ではなく、より複雑なEF接続文字列であることに注意してください。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="Database1Entities"
connectionString="metadata=res://*/Model1.csdl
|res://*/Model1.ssdl
|res://*/Model1.msl;
provider=System.Data.SqlClient;provider connection string="
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;
User Instance=True;
MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
http://msdn.microsoft.com/en-us/library/system.data.entityclient.entityconnection.aspxも参照してください。エンティティ接続を使用すると、既存の従来のDbConnectionに基づいてObjectContextを作成できます。
うまくいけば、これは他の誰かを助けるでしょう-しかし、この例に従うことによってこれを行う方法を見つけることができるようです:https ://stackoverflow.com/a/8240733/448704
この種のタスクには、組み込みのVSツールを使用することをお勧めします。それらを使用すると、Visual Studioは、公開するサーバーに基づいて構成(接続文字列だけでなく)を自動的に切り替えます。詳細については、このリンクを確認してください:Web配置が素晴らしい