0

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
4

1 に答える 1