首页 文章

linq中的简单内连接

提问于
浏览
0

我有三个表 ABC . C 有许多 B ,其中有很多 A .

我想在树中显示所有这些数据,所以我将 db.A 绑定到具有三层层次结构的嵌套控件 . 唯一的问题是我得到太多行,因为它没有在 BC 之间进行内部连接 .

那么我怎样才能在linq中做这样的事情:

SELECT A.name, B.name
FROM A
INNER JOIN B ON A.id = B.AID 
INNER JOIN C ON B.id = C.BID
GROUP BY A.Name, B.Name
ORDER BY A.Name

我试过以下无济于事:

from a in A
join b in B on a.id equals b.AID
join c in C on b.id equals c.BID
select c

非常感谢

1 回答

  • 0

    试试这个 :

    from a in A 
    join b in B on a.id equals b.AID 
    join c in C on b.id equals c.BID 
    group new {a,b} by new {a.name,b.name} into g
    select g
    

    上面的连接与你在sql查询中的连接相同,但你想要的是:

    from a in A 
    join b in B on a.id equals b.AID 
    join c in C on b.id equals c.BID 
    group c by c.name into g
    select g
    

相关问题