linq to sqlでは、データベース接続情報はどこに保存されていますか?、データベース接続情報はどこに保存されていますか?
クエリごとにデータベースを別のデータベースに上書きするにはどうすればよいですか?
linq to sqlでは、データベース接続情報はどこに保存されていますか?、データベース接続情報はどこに保存されていますか?
クエリごとにデータベースを別のデータベースに上書きするにはどうすればよいですか?
データベースconnection for linqは、web.configファイルまたはapplication.configファイルにあります。
クエリごとに実行することはできません。データコンテキストごとに行うことができます。ただ、コンストラクタに異なる接続または接続文字列を渡す:
string connectionStringA = ..., connectionStringB = ...
using(var ctxA = new FooContext(connectionStringA)) {...}
...
using(var ctxB = new FooContext(connectionStringB)) {...}
using(SqlConnection conn = ...)
using(var ctxC = new FooContext(conn)) {...}
あなたはそれがDataContext
インスタンスに渡します。
生成されたDataContextサブクラスでは、デフォルトのコンストラクタは.Settings
プロジェクトを使用し、したがって.config
ファイルから使用します。
このように、データベース情報は設定ファイルに保存されています。 dbmlマップを作成したプロジェクトのものを確認してください。
つまり、DatabaseContextには接続文字列をパラメータとして持つコンストラクタがあります。しかし、新しいDatabaseContextオブジェクトを作成せずにクエリ単位でオーバーライドする良い方法があるかどうかはわかりません。 2つの異なるDatabaseContextオブジェクトからエンティティを作成している場合、実際に問題が発生する可能性があります。