2014-02-23 45 views
-3

我有这个数据库设计一个又一个的总和:通过现场使用LINQ to组数据集,并计算基于where子句

StartDate    Number Branch 
2/23/2014 3:00:00 AM 2  1 
2/23/2014 3:00:00 AM 3  1 

我如何使用LINQ组由startdate,总结了number并且其中branch = 1

结果必须能够循环以获得总数。

+1

请不要只问我们要解决的问题为您服务。告诉我们你是如何试图自己解决问题的,然后向我们展示结果是什么,并告诉我们为什么你觉得它不起作用。请参阅“[您尝试过什么?](http://whathaveyoutried.com/)”,以获得一篇您最近需要阅读的优秀文章。 –

回答

0

这是相当直截了当:

var result = db.myTable.Where(x => x.Branch == 1) 
         .GroupBy(x => x.StartDate) 
         .Select(g => new 
         { 
          StartDate = g.Key, 
          Sum = g.Sum(x => x.Number) 
         }); 

或者在查询语法:

var result = 
    from x in db.myTable 
    where x.Branch == 1 
    group x by x.StartDate into g 
    select new 
    { 
     StartDate = g.Key 
     Sum = g.Sum(x => x.Number) 
    };