DbContext から派生させ、パラメーターなしのコンストラクターを使用すると、web.config から接続文字列が読み込まれます。他の DbContext コンストラクターのいずれかを使用して、connectionString を明示的に指定するオプションもあります。
サーバー/ユーザー名とパスワードの場所は実行時に決定されるため、私の特定の状況では、接続文字列を web.config で指定することはできません。簡単に修正できますか?上記のコンストラクターを使用して接続文字列を指定するだけですか? 違う。
問題は、上記のコンストラクターを使用して接続文字列を指定すると、デフォルトのプロバイダーを使用しようとするため、私のように 1 つ以上の非標準プロバイダーを使用している場合、機能しないことです。
web.config で既定のプロバイダーを変更できると確信していますが、複数のプロバイダーを使用したいので変更できません。
これを回避する唯一の方法は、DbContext の代わりに ObjectContext を使用することです。これにより、データベース接続文字列と共にプロバイダーを指定できるようです。
それを行う他の方法はありますか?私の回避策はかなり合理的ですか?
ObjectContext インスタンスから DbContext を作成することもできると思います。