GROUP BY WEEK EF Core 2.1 - PullRequest
       32

GROUP BY WEEK EF Core 2.1

0 голосов
/ 14 ноября 2018

enter image description here

Мне нужно группировать в неделю на основе даты регистрации?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

с использованием System.Globalization;

 .GroupBy( 
              g => CultureInfo.CurrentCulture.Calendar.GetWeekOfYear( g.Trsdt, 
              CalendarWeekRule.FirstDay,DayOfWeek.Monday )
           )
0 голосов
/ 14 ноября 2018

Не совсем понятно, что CalendarWeekRule вы имеете в виду, поэтому предположим, что вы хотите самое простое (FirstDay), то есть формула, подобная

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

EF Core поддерживает перевод DayOfWeek в SQL, поэтому вы можете использовать что-то вроде этого (не уверен, если вам нужно Year):

.GroupBy(g => new { g.Trsdt.Year, Week = 1 + (g.Trsdt.DayOfYear - 1) / 7 })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...