从孙子中选择价值

时间:2012-08-12 20:33:41

标签: linq entity-framework

我有以下表结构:

Table structure

我想选择:

  • 表C中的所有TableA条目+标识符列包含:
    • TableBType中的特殊值(“TableBTypeValue”)
    • TableCType(“TableCTypeValue”)
    • 中的特殊值

我遇到的问题是,当TableA条目没有TableB条目或者没有TableC的TableB条目时,linq查询似乎失败(TableBType和TableCType是必需的,所以它们没有那个问题)

使用SQL这不会是一个大问题,但由于我是linq的新手,我找不到创建此查询的正确方法。

1 个答案:

答案 0 :(得分: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 };

希望它有所帮助。