VB .NET Windows アプリケーションの作成。
3 つの SQL サーバーの LAN ネットワークがあり、それぞれに同一のデータベース テーブルがあります。唯一の違いは、ユーザーの 3 つの異なる場所に適用されるデータです。
私はかなり新しいLINQ to SQLを使用しようとしているため、この質問があります。
.dbml ファイルを作成し、サーバーの 1 つに接続しました。次に、いくつかのテーブルをドラッグしました。接続文字列はプロジェクト設定に保存されます。次に、他のサーバー用にさらに 2 つの接続文字列を作成しました。
私の質問は、可変条件に基づいて他の 2 つのサーバーに接続するために、コード内のデータ コンテキスト接続を何らかの方法でオーバーライドすることはできますか?
これまでのコードは次のとおりですが、「オーバーライド」が機能していないようです。データ コンテキスト変数をデバッグすると、設計時からの元の接続が表示されますか?
'' 場所に基づいて SQL サーバーへの LINQ データコンテキスト接続を作成します Public dbContext As New DataBaseDataContext()
Select Case My.Settings.Location
Case "Bowling Green"
dbContext.Connection.ConnectionString = My.Settings.bg_prodConnectionString
Dim query = From emp In dbContext.employees _
Select emp
For Each emp In query
MsgBox(emp.name.ToString())
Next
Case "Delphos"
Dim DelphosContext As New DataBaseDataContext(My.Settings.delphos_prodConnectionString)
'DelphosContext.Connection.ConnectionString = My.Settings.delphos_prodConnectionString
Dim query = From emp In DelphosContext.employees _
Select emp _
Where emp.employee_id = "0028"
Order By emp.name
For Each emp In query
MsgBox(emp.name.ToString())
Next
Case "Tiffin"
dbContext.Connection.ConnectionString = My.Settings.tiffin_prodConnectionString
End Select