我有以下分组的 linq 查询
var results = from c in C
join h in h on c.Code equals
h.Code
join m in M on c.Code equals
m.Code
group c by c.Code into g
select
new
{
Group = g.Key,
Total = g.Count()
}
效果很好,返回 2 条记录,其中 1 项总共有 4 条记录,另一项总共有 2 条记录。分组非常好!但我只返回分组字段...
H 表上还有一个名为 tDate 的字段,M 表上还有一个名为 pCode 的字段。
现在我尝试将我的选择更改为类似这样,但 linqpad 提示 m 和 h 变量,因为我认为它们没有包含在组中...但这就是我迷失的地方..我如何返回更多分组依据上的字段。当然,对于分组中的每条记录,pCode 和 tDate 都是相同的...因此我仍然应该得到 2 条记录,但有更多列。
select
new
{
Group = g.Key,
Total = g.Count(),
PCode = m.pCode,
TDate = h.tDate
}
任何人都可以向我伸出援助之手......
提前致谢
最佳答案
SQL 会给您一个关于未将列包含在聚合函数中的错误。要包含它们,您必须将它们包含在分组依据中,或者重新连接到数据以使它们与分组数据相关。
关于sql-server - LINQ:有关 groupby 的帮助,似乎不像 SQL 那样工作:-) 只让我返回 .Key 而没有其他?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4279075/