【发布时间】:2017-10-13 23:13:15
【问题描述】:
看在上帝的份上,请帮帮我……我整个上午都在努力学习 linq 和 lambda 表达式,但我仍然无法得到我需要的东西。
我有这个问题:
select IDHOLDINGGRUPO, IDUNIDADE, IDOPERADORA, ANOPROC, MESPROC, DATACONHECIMENTO, TIPO, sum(VALOR) as TOTAL
from VIEW_EVENTOS_ATENDIMENTOS
group by IDHOLDINGGRUPO, IDUNIDADE, IDOPERADORA, ANOPROC, MESPROC, DATACONHECIMENTO, TIPO
返回这个结果:
IDHOLDING IDUNIDADE IDOPERADORA ANOPROC MESPROC DATACONHECIMENTO TIPO TOTAL
1 1 1 2001 1 2001-01-01 A 150.00
1 2 1 2001 1 2001-01-01 A 300.00
我正在尝试使用 lambda 表达式获得相同的结果。比如:
var Resultado = lista
.GroupBy(x => new { x.HoldingGrupoDto.Id, Id2 = x.UnidadeDto.Id, Id3 = x.OperadoraDto.Id, x.DataConhecimento, x.AnoProc, x.MesProc })
.Select(group => group.Sum(item => item.Valor)).FirstOrDefault() ?? default(double);
但这只会返回总和列。如何获取所有列,与上面的示例完全相同。
【问题讨论】: