Linq to SQL:选择多列的总和

本文关键字:选择 to SQL Linq | 更新日期: 2023-09-27 18:36:14

我想将以下SQL代码转换为linq到sql,但似乎找不到方法

select holder_name,agent_code,sum(total) 
from agent_commission
group by agent_code

谁能帮我?我有点坚持了很长一段时间。

提前致谢

更新:我尝试了以下方法

var query = (from p in context.Agent_Commissions
               group p by new
               {
                     p.agent_code
               }
               into s
               select new
               {
                    amount = s.Sum(q => q.total),
                }
              );

如何选择其他两列?我错过了什么?

Linq to SQL:选择多列的总和

事实上,只有当holder_nameagent_code之间的对应关系1-1时,你的SQL query才起作用,否则Group by agent_code将不起作用。所以你的linq query应该是这样的:

var query =  from p in context.Agent_Commissions
             group p by p.agent_code into s
             select new {
                holder_name = s.FirstOrDefault().holder_name,
                agent_code = s.Key,
                amount = s.Sum(q => q.total)
             };

这是您的 linq 查询

from a in ctx.agent_code 
group a by a.holder_name, a.code into totals 
select { holder_name = a.holder_name, 
         code = a.code, 
         total = totals.Sum(t=>t.total)} 

假设您在变量中有 linq2sql 上下文ctx并且其中包含您的表。