使用LINQ Lambda Expression查找Sum

时间:2017-01-25 05:19:35

标签: c# .net linq lambda asp.net-mvc-5

我有一个SQL表,我可以获得多个记录。但我希望将[Value]分组加Sales and Collection

ExecutiveName   ClientName  2017-01-21  2017-01-22  2017-01-24  ValueofGoal  GoalType
Admin           Omelettes   10000       NULL        NULL        50000        Collection
Admin           Omelettes   10000       NULL        NULL        120000       Sales
Admin           Vijay       NULL        NULL        10000       50000        Collection
Admin           Vijay       NULL        NULL        10000       120000       Sales
Admin           Sujeet      NULL        10000       NULL        50000        Collection
Admin           Sujeet      NULL        10000       NULL        120000       Sales

上面,这是我的实际表格,我希望总共ValueofGoal基于Collection and Sales和总共ValueOfGoal

就像:

 Sales       : 360000 
 Collection  : 150000
 Total       : 510000

如果有人知道如何通过使用lambda表达式来做到这一点,请为我提供一个解决方案

2 个答案:

答案 0 :(得分:1)

.GroupBy(x => x.GlobalType)
    .Select(n => n.Sum(m => m.ValueofGoal));

这段代码将按GlobalType分组,然后根据groupby对所有值求和,并返回每个值的总和。

答案 1 :(得分:1)

您可以使用

var list = dbContext.YourModel.GroupBy(x=>x.GoalType)
    .Select(x=>new {
        GoalType=x.Key,
        ValueOfGoal=x.Sum(y=>y.ValueofGoal)
    }).ToList();