テーブルの 1 つをフィルタリングしながら、2 つのテーブルを結合したいと考えています。それはうまくいきます
var matching = from a in ctx.A
join b in ctx.B on a.BId equals b.Id
where idList.Contains(b.Id)
select a;
ただし、into
キーワードを使用して結合結果に名前を付けると
var matching = from a in ctx.A
join b in ctx.B on a.BId equals b.Id into c
where idList.Contains(b.Id)
select a;
コンパイラ エラーが表示される
名前 'b' は現在のコンテキストに存在しません
ただし、a
その時点で 'c' と同様に問題なく参照できます。
なぜそれが正確なのか、どのようにwhere句をに適用できますb
か?