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),
}
);
如何选择其他两列?我错过了什么?
事实上,只有当holder_name
和agent_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
并且其中包含您的表。