Сначала вы должны получить дату первого дня недели.
Чтобы получить дату первого дня недели.
Вы можете использовать этот код:
public static class DateTimeExtensions
{
public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
{
int diff = dt.DayOfWeek - startOfWeek;
if (diff < 0)
{
diff += 7;
}
return dt.AddDays(-1 * diff).Date;
}
}
Затем вы можете сгруппировать по первому дате недели.
Итак, этот код в обычном SQL:
SELECT * From T GROUP BY DATEPART(wk, T.Date)
можно сделать в Linq to SQL следующим образом
T.GroupBy(i => i.Date.StartOfWeek(DayOfWeek.Monday));