2017-12-04 22 views
0

2つの異なるサーバに2つの接続があります。 両方のサーバーのデータベースからデータにアクセスしたいと思います。それは不可能(または少なくとも複雑)です。LinqPad - クエリ間でデータを共有する

1つのサーバーでいくつかのリクエストを実行し、その結果を変数にメモリに格納し、その変数を別のサーバーの別のクエリでアクセスする方が簡単かもしれないと考えていました。

私はMyExtensionsの静的変数と同様に AppDomain.CurrentDomain.SetData("myVariable", results)AppDomain.CurrentDomain.GetData("myVariable")と試みたが、両方が動作しません。

+0

両方のサーバーでデータベース構造が同じですか?もしそうなら、 'var dc2 = new UserQuery(new SqlConnection(connectionString));' – sgmoore

+0

を使って2番目の接続を作成することができます。データベースは別のサーバ(別のプロバイダとホストされている1つのAzureホスト)にあります。 –

+0

データベース構造がまったく同じ場合、2つのサーバー上にあることは重要ではありません。 – sgmoore

答えて

0

私はこの同じ問題を抱えていましたが、解決策は私が予想していたよりもずっと簡単でした。

私はクエリーしたいdatacontexts(別のサーバー上)の両方のプロジェクトを持っていたので、参照(F4クエリー、追加リファレンス - >ビンフォルダの検索など)を.dllに追加しました。私のプロジェクト。 config/connectionstringsセクションを、自分のプロジェクトコンテキストが正しい接続情報で探していたconnectionStringの名前を含むクエリのapp.configセクションに追加しました。

これは私のデータコンテキストへのアクセスだけでなく、私のプロジェクトからのビジネスロジック(例えば、repos/dtos/viewModels /その他の変換)の多くにもアクセスできました。そこから、私はDB /サーバーAから必要なものをつかんで、自分の好みのデータ型(通常はリスト)を入れて、必要に応じてDB /サーバーBのデータとやりとりさせることができます。

希望すると便利です。

関連する問題