LINQ Lambda Group By with Sum

Viewed 81727

Hi I can do this in method syntax but I'm trying to improve my lambda skills how can I do:

SELECT SUM([job_group_quota]) as 'SUM'
FROM [dbo].[tbl_job_session]
WHERE [job_group_job_number] = @jobnum
and [job_group_ID] like @sess
GROUP BY [job_group_job_number]

I've been messing around with it but can't get it right.

lnq.tbl_job_sessions.GroupBy(a => a.job_group_job_number == jnum)
                    .Select(b => new { b.job_group_quota}).Sum();
5 Answers

If you want to get a key-to-sum Dictionary result.

var allJobQuota = jobSessions.GroupBy(s => s.jobNumber)
                             .ToDictionary(g => g.Key, g => g.Sum(s => s.quota));
Sum Ficha_Venda and Entrada from Movimento:

var query = from bd in db.Movimento
                            where (movimento.Data != null ? bd.Data == movimento.Data : bd.Data == movimento.Data)
                            && (bd.Loja == Loja)
                            group bd by bd.Data into t
                            select new {entrada = t.Sum(bd=> bd.Entrada), ficha = t.Sum(bd=> bd.Ficha_Venda)};
Related