我有返回正确值的lambda表达式,但我想分组的项目的总和为好,在这里我的查询组由lambda表达式用C#MVC
IEnumerable<CJTViewModel> objModel = (from q in db.CURRENT_JCT_TRANSACTION
where q.Job == job
group q by new { q.Cost_Code, q.Category } into g
select new CJTViewModel()
{
Job = job,
Category_E = g.Key.Category == "E" ? g.Sum(s => s.Amount) : 0,
Category_L = g.Key.Category == "L" ? g.Sum(s => s.Amount) : 0,
Category_LB = g.Key.Category == "LB" ? g.Sum(s => s.Amount) : 0,
Category_OH = g.Key.Category == "OH" ? g.Sum(s => s.Amount) : 0,
Cost_Code = g.Key.Cost_Code,
Category = g.Key.Category
}).ToList().OrderBy(x => x.Cost_Code);
它给了我像下面
Cost Code Category Amount ------------------------------------------------ 1001 E $100 1001 L $200 1001 OH $120 1002 L $100 1002 LB $100 1002 OH $200输出
,但我希望输出像下面
Cost Code Category Amount ---------------------------------------------- 1001 E $100 1001 L $200 1001 OH $120 ----------------- $420 1002 L $100 1002 LB $100 1002 OH $200 ----------------- $400
任何帮助,将不胜感激..
请出示CJTViewModel'的'定义。它代表行或行组吗? – 2014-09-10 15:01:08
是否要将总计条目作为列表中的另一个项目,其中成本代码和类别为null,还是要其他项目? – 2014-09-10 15:01:31