Dans Linq to SQL est-il possible de grouper par Semaine Nombre de Semaine de travail, pas semaines de l'année, par exemple 1/1/2016 est dans la même semaine de 12/31/2015 ce n'est pas la même semaine de l'année (mais c'est dans la même semaine physique si vous voulez)Groupe Linq to SQL (Entity Framework) par le travail Numéro de la semaine
0
A
Répondre
0
Voici un exemple de regroupement par semaine de travail, avec des semaines de travail numérotées à partir de la date la plus ancienne en 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();
}
Entity Framework! = LINQ à SQL. Regardez la datepart avec la semaine ISO. –