2

2 つの差分にあるテーブルからレコードを取得する必要があります。2 つの異なる SQL Server のデータベース。

例えば。server1 の Sales DB と server2 の Purchase DB。Sales DB と Purchase DB の両方に、Sales DB の table1 と Purchase DB の table2 という一連のテーブルがあります。ここで、いくつかの共通レコードを持つ table1 と table2 からレコードを結合して取得する必要があります。

T-SQLを使用すると、サーバーをリンクしてからクエリを実行することで実行できます。

それを認識していないので、LINQ to SQLを使用してどのように行うことができるかを提案してください。

ありがとう。

4

2 に答える 2

0

これには(少なくとも)2つの可能な解決策があります。

すでに使い慣れているデータベース間クエリを実行するストアドプロシージャを定義できます。データコンテキストのメソッドとしてストアドプロシージャを追加します。

または、データベースごとにデータコンテキストを定義してから、Linqで組み合わせを選択することもできます。何かのようなもの:

var table1records = from rec1 in context1.Table1
                    select rec1;

var table2records = from rec2 in context2.Table2
                    select rec2;

var combined = from rec1 in table1records
               join rec2 in table2records on rec1.idColumn equals rec2.idColumn
               select new
               {
                 Rec1 = rec1,
                 Rec2 = rec2
               };
于 2010-04-22T15:04:15.050 に答える
0

DB2 の table2 を参照するビューを DB1 に作成できます。

于 2010-04-22T16:42:07.790 に答える