0

次のテーブル構造があります。

テーブル構造

選択したい:

  • すべての TableA エントリ + Table C の Identifier 列で、次のものがあります。
    • TableBType の特別な値 ("TableBTypeValue")
    • TableCType の特別な値 ("TableCTypeValue")

私が抱えている問題は、TableB エントリを持たない TableA エントリがある場合、または TableC を持たない TableB エントリがある場合、linq クエリが失敗するように見えることです (TableBType と TableCType は必須であるため、その問題はありません)。

SQL ではこれは大きな問題にはなりませんが、私は linq を初めて使用するため、このクエリを作成する正しい方法を見つけることができませんでした。

4

1 に答える 1

2

これがあなたが探しているものだと思います:

from c in db.TableC
where c.TableCType == TableCTypeValue
join b in db.TableB on c.TableBId equals b.Id
where b.TableBType == TableBTypeValue
join a in db.TableA on b.TableAId equals a.Id
select new { a, c.Identifier };

それが役に立てば幸い。

于 2012-08-12T20:46:43.003 に答える