如何在 linq C# 中使用 group by 并获取记录列表

how to use group by in linq C# and fetch the list of records

我有 2 个表,我根据某些要求对 return 记录列表进行了一些连接。 我可以通过查询为我的 requiremnet 编写一个组并获取记录,但我在 Linq 查询中需要相同的。 我的 sql 查询是:

select 
   MiscServiceDesc, 
   sum(PaymentAmount),
   count(PaymentAmount) 
from 
   MiscTransaction MT 
join MiscService MS 
   on MT.MiscServiceID = MS.MiscServiceID 
group by 
  MiscServiceDesc

其中 MiscTransaction 和 MiscService 是我的两个表。

有什么帮助吗? 提前致谢

试试这个。我不知道 MiscServiceDesc、PaymentAmount、PaymentAmount 这些列中的哪些列在 MiscTransaction table 或 MiscService table 中,但如果需要,您可以适当更改代码。

var result = (from mt in MiscTransaction 
               join ms in MiscService on mt.MiscServiceID equals ms.MiscServiceID
               select new {ms.MiscServiceDesc, mt.PaymentAmount} into lst
               group lst by lst.MiscServiceDesc into gr
               select new {MiscServiceDesc  = gr.Key, Summ = gr.Sum(c=>c.PaymentAmount), Count = gr.Count()}
       ).ToList();