2017-03-01 4 views
0

Meine Abfrage für eine Liste von dbTable Datum Datensätze nach Wochen zu gruppieren, und sort the list & nested days in descending date order funktioniert nicht. In SO gibt es eine Gruppe nach Woche, aber nicht in absteigender Reihenfolge sowohl die Sammlung als auch geschachtelte Tage der Woche.Gruppieren nach Wochen und Datumsangaben EF in absteigender Reihenfolge

Ich habe eine Tabelle wie so, mit einer Liste von POdateRecordsTable -

Id | Date | Week# | PO | ContractorId 

Bei DateTime.Now und weekStarting am Montag - wie Gruppe/Aggregat/sortieren die Datensätze in descdending order für die List of date records by Week? Sortieren der äußeren Wochenliste und der nesteddayslist in absteigender Reihenfolge.


POdateRecordsEntity.SingleOrDefault(p => p.PO == "Unpaid" 
            && p.Date <= yourTime). 
         .Select(t => new 
    { 
     Year = SqlFunctions.DatePart("yyyy", t.Date), 
     Week = SqlFunctions.DatePart("ww", t.Date), 
     Hours = SqlFunctions.DatePart("hh", t.Date) 
    }) 
.GroupBy(x => new { x.Year, x.Week}); 

bin ich den Typ & Felder auf der zurückgegebenen Liste zu verlieren. I.e. gleichen Typs POdateRecordsEntity und dies nicht der Fall Gruppe von Wochen seit seiner nicht ein Datetime-Erweiterung

+0

für was ist der 'SingleOrDefault'? Sie brauchen nur einen Datensatz? – user3682091

Antwort

1

Wenn Sie eine Liste der Datensätze erhalten möchten, die Gruppe von Woche und der Liste jeweils nach Datum sortiert in absteigender Reihenfolge, können Sie versuchen:

POdateRecordsEntity.Where(p => p.PO == "Unpaid" 
           && p.Date <= yourTime). 
.GroupBy(x => new { x.Date.Year, x.Week}) 
.toDictionary(x => x.key, x => x.OrderByDescending(t=>t.Date).toList()); 
+0

Hallo, wird das Dictionary die starken PO-Datensätze enthalten oder ist es das value-Objekt, das stark typisiert ist, können Sie ein Beispiel-Verwendungs-Snippet einbinden, um die * typisierten * recrods zu erhalten. * Ich versuche, dies an ein Grid zu binden, das stark typisiert ist, also sollte ich zu Like zurückkehren. * – transformer

+0

Der Schlüssel des Wörterbuchs ist nicht stark typisiert, aber der Wert ist eine Liste stark typisierter POdateRecordsEntity. Ich denke, das ist alles was du brauchst. – user3682091

+0

Ich habe den Code nicht wirklich ausgeführt, aber Sie müssen vielleicht ein wenig nachbessern. aber du hast die Idee. – user3682091

Verwandte Themen