按周分组EF Core 2.1

时间:2018-11-14 19:03:01

标签: c# .net entity-framework entity-framework-core

enter image description here

我需要根据注册日期每周分组吗?

2 个答案:

答案 0 :(得分:3)

您不清楚要记住什么CalendarWeekRule,因此假设您想要最简单的{FirstDay),即

  

周= 1 +(DateTime.DayOfYear-1)/ 7

EF Core支持将DayOfWeek转换为SQL,因此您可以使用类似的方法(不确定是否需要Year):

.GroupBy(g => new { g.Trsdt.Year, Week = 1 + (g.Trsdt.DayOfYear - 1) / 7 })

答案 1 :(得分:0)

使用System.Globalization;

 .GroupBy( 
              g => CultureInfo.CurrentCulture.Calendar.GetWeekOfYear( g.Trsdt, 
              CalendarWeekRule.FirstDay,DayOfWeek.Monday )
           )