私は2つの異なるデータコンテキストから2つのテーブルを持っています。両方のテーブルが同じデータベースのものですが、2つの別々のデータコンテキストが存在します。異なるデータコンテキストから内部結合テーブルを作成する方法
エラーメッセージ:
クエリが異なるデータコンテキストに定義されたアイテムへの参照が含まれています。
どうすればこの問題を回避できますか?どんな助けもありがとうございます。ありがとう。
私は2つの異なるデータコンテキストから2つのテーブルを持っています。両方のテーブルが同じデータベースのものですが、2つの別々のデータコンテキストが存在します。異なるデータコンテキストから内部結合テーブルを作成する方法
エラーメッセージ:
クエリが異なるデータコンテキストに定義されたアイテムへの参照が含まれています。
どうすればこの問題を回避できますか?どんな助けもありがとうございます。ありがとう。
あああなたが提供する方法Stackoverflow!
なぜ、各コンテキストに必要なテーブルを含めるだけですか?
"このメンバーは複数回定義されています"というエラーが表示されます。 – jinsungy
あなたはおそらく何か間違っているでしょう。 –
複数のモデルを持つ場合、EFは名前空間を考慮しません。複数のモデルに同じ名前のテーブルを持つことはできません。私を信じていない?それを試してみてください ! –
あなたはしません。データコンテキストがデータベースの一貫性のないビューを持つ可能性があります。
あなたのコードは、の線に沿って何かない場合:
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のDataContextのは、クラスの属性を使用していますので、あなたが使用している場合テーブルが接続されている別のdatacontext上のGetTableは、クラスdefからtable、columnなどの属性を取り出し、クエリで使用しているDCの一部であるかのように使用します。
別の解決策は、()を一覧表示するには、結果を変更です。
var query = (from a in dc1.TableA
join b in dc2.TableB on a.id equals b.id
select new { a, b }).ToList()
2つのデータコンテキストを持つことは、ビジネスの観点からはどのように意味がありますか?通常、データベースごとに1つのdatacontextしか持たないことをお勧めします。 – Robban
おそらくそれは意味をなさないでしょうが、これは私が作業しているものです。 – jinsungy
1つのコンテキストと1つの書き込みのコンテキストを持つことの良い習慣 – skyfoot