2017-10-21 131 views
-2

我的代码在这里:如何DATETIME GROUPBY月与实体框架

var query = context.Article.GroupBy(x=>x.CreateDate.Value.Month) 

不工作

例如

January 2017 
February 2017 
March 2017 
+0

VAR的查询= context.Article.GroupBy(X =>新{月= x.CreateDate.Value.Month}) 检查这个答案https://stackoverflow.com/a/9886447/1882537 – DevC

回答

0

您可以使用一个月,一年,然后您的收藏组循环分组项目。

var articlesGrouped = context.Article 
          .Where(g=>g.CreatedTime!=null) 
          .GroupBy(x => new { Month = x.CreatedTime.Value.Month, 
               Year = x.CreatedTime.Value.Year }) 
          .ToList(); 

这会给你按月份和年份分组的文章。

月份值是数字。如果您需要相应的名称,则可以使用DateTimeFormatInfo对象。

var dtfi = new DateTimeFormatInfo(); 
foreach (var groupedItem in postGrouped) 
{ 
    var month = dtfi.GetAbbreviatedMonthName(groupedItem.Key.Month) 
    var year = groupedItem.Key.Year; 
    //now you can loop through item 
    foreach (var article in groupedItem) 
    { 
     var title = article.Title; 
    } 
} 
+0

变种articlesGrouped = context.Article .Where(g => g.CreatedTime!= null).GroupBy(x => yeni {Ay x.CreatedTime.Value.Month,Yıl= x.CreatedTime.Value.Year}).ToList);不工作:/ –

+0

你的意思是“不工作”?你有错误吗?发生什么事 ? – Shyju

+1

对不起,我犯了一个错误的工作感谢很多人 –