12

2 つの異なるデータ コンテキストから 2 つのテーブルがあります。両方のテーブルは同じデータベースからのものですが、2 つの別個のデータ コンテキストが存在します。

エラーメッセージ:

クエリには、別のデータ コンテキストで定義された項目への参照が含まれています。

どうすればこれを回避できますか? どんな助けでも大歓迎です。ありがとう。

4

3 に答える 3

7

コードが次の行に沿って何かを実行する場合:

from a in dc1.TableA
join b in dc2.TableB on a.id equals b.id
select new { a, b }

...次のように変更するだけです:

from a in dc1.TableA
join b in dc1.GetTable<TableB>() on a.id equals b.id
select new { a, b }

L2Sデータコンテキストはクラスの属性を使用するため、テーブルがアタッチされているデータコンテキスト以外のデータコンテキストでGetTableを使用すると、クラスdefからテーブル、列などの属性が取得され、一部であるかのように使用されます。クエリで使用しているDCの...

于 2009-10-08T16:19:30.243 に答える
2

別の解決策は、結果を List() に変更することです。

var query = (from a in dc1.TableA 
            join b in dc2.TableB on a.id equals b.id 
            select new { a, b }).ToList()
于 2011-01-12T08:55:57.877 に答える
1

あなたはそうしない。データコンテキストには、データベースの一貫性のないビューが含まれている可能性があります。

于 2009-10-08T13:48:24.683 に答える