【发布时间】:2020-06-04 22:32:39
【问题描述】:
我有一个 Linq to SQL 查询,我想从一个表(下面我的简化查询中的 TableC)的所有匹配行中返回选择列,以及另一个表(下面的 TableB)中匹配行的计数。某些其他表也需要涉及到 where 子句才能工作(在简化查询中删除)。
如何从 TableC 中获取我需要的列和 TableB 的计数?
这是我的查询的简化版本:
var q = from a in dc.TableA
from b in dc.TableB
join c in dc.TableC on b.TableBID equals c.ID
join d in dc.TableD on a.ID equals d.TableAID
where 1 == 1 //lots of interesting stuff here
group c by new { b, c } into g
select new
{
ID = g.Key.c.ID,
Name = g.Key.c.Name,
Count = g.Count()
};
更新:我想我找到了使用组加入的解决方案 - 答案发布在下面。我仍然想知道这是否是正确的解决方案。
【问题讨论】:
标签: linq-to-sql