日期:2014-05-20  浏览次数:21075 次

Linq 日期分组

from a in DB group a by  
new

   Date = a.OperDate.Date 
   //或Date = EntityFunctions.CreateDateTime(a.OperDate.Year,...) 
}

上面两种方式均会报错,请问该如何正确按日期分组? 

------解决方案--------------------

var list=DB.Select(t => { return new { OperDate = t.OperDate.ToString("yyyy-MM-dd") }; }).ToList();  
list = list.GroupBy(g=>g.OperDate).Select(t => { return new { OperDate = t.Key, count = t.Count() }; });


------解决方案--------------------
from a in DB group a by a.OperDate.Date 
or
from a in DB group a by a.OperDate.Date.Year * 32 * 12 + a.OperDate.Date.Month * 32 + a.OperDate.Date.Day
------解决方案--------------------
from a in DB 
group a by EntityFunctions.TruncateTime(a.OperDate) into g
select g.Key  
 
记得以后提问,从看问题人的角度着想,一次性说清楚我的问题
比如LINQ provider类型,报错异常信息,出错代码段 以及你做过的尝试等等~~