0

私は2つの異なるデータベースに接続された2つのコンテキストクラスを持っているので、これらのエンティティ間で結合を試みていますが、私が書いたとき:

RackJoinList rjlist = new RackJoinList();
var racks =  from rack in tms.TMSRacks
             .Where(a=>a.Technology.Tag.ToUpper().StartsWith(q.ToUpper()) || (q ==null))
             select rack;

rjlist.Racks = racks.ToList();

var resources = from resource in entities.Resources join c in rjlist.Racks.AsQueryable()
on resource.RESOURCEID == 

リソースと rjlist.Rack に参加できません。

4

2 に答える 2

1

エラーが示すように、2 つのデータベース インスタンスにまたがって参加することはできません。1 つのデータベースにリンク テーブルを追加してから、結合することができます。または、クエリの片側のレコード数が比較的少ない (2000 未満) ことがわかっている場合は、最初のテーブルから ID を取得し、.Contains メソッドを使用して、結合ではなく IN 句を生成できます。そうしないと、両方のテーブルからすべてのレコードをメモリにロードしてから、LINQ to Objects を使用してそれらを結合することになります (パフォーマンスのボトルネックになる可能性があります)。

于 2013-08-09T13:23:51.933 に答える