In Linq to SQL is it possible to group by Week Number of Work week, not weeks from year, for example 1/1/2016 is in the same week of 12/31/2015 it is not the same week of the year (but it is in the same physical week if you will)
Asked
Active
Viewed 209 times
0
-
3Entity Framework != LINQ to SQL. Look at datepart with ISO week. – Gert Arnold Dec 08 '15 at 21:24
1 Answers
0
Here is an example of grouping by the work week, with work weeks numbered from the oldest date in MyTable
using(var ctx = new MyEntities())
{
DateTime firstDate = ctx.MyTable.OrderBy(x => x.Date).First().Date;
var dates = ctx.MyTable.OrderBy(x => x.Date).Select(x => new { iVal = SqlFunctions.DateDiff("week", firstDate, x.Date), date = x.Date}).ToList();
var datesGrouped = ctx.MyTable.OrderBy(x => x.Date).Select(x => new { iVal = SqlFunctions.DateDiff("week", firstDate, x.Date), date = x.Date}).GroupBy(x => x.iVal).ToList();
Console.WriteLine("Ungrouped:");
dates.ForEach(x => Console.WriteLine("Week #: " + x.iVal + " Date: " + x.date));
Console.WriteLine("Grouped:");
datesGrouped.ForEach(x => Console.WriteLine("Week #: " + x.Key + " Date: " + x.First().date));
Console.ReadLine();
}

Jakotheshadows
- 1,485
- 2
- 13
- 24