C# - Linq oder Lambda-Ausdruck-Gruppe von Woche IEnumerable Liste mit Datum-Feld
Ich versuche eine Abfrage zu einem IEnumerable<Object>
Gruppe durch die Woche, zum Beispiel:
Project(Name, DateStart,ID)
Habe ich IEnumerable<Project>
und ich will einen Bericht, der Gruppierung nach Woche.
Also zum Beispiel:
Week 1
Project1 8/4/2013 ID1
Project2 9/4/2013 ID2
Week 2
Project1 16/4/2013 ID3
Project2 18/4/2013 ID5
Week 3
Project1 24/4/2013 ID7
Project2 26/4/2013 ID8
Bitte, wenn jemand kann mir eine hand, die ich wirklich zu schätzen! Ich versuche zu tun, eine lambda-expression, jedoch ohne Erfolg.
Dank!
Welche Art von
Linq-to-Objects. Ich erstelle eine IEnumerable-Typ der meine Einheiten aus meinem Modell.
bitte betrachten Sie die Annahme Antworten, dass Ihnen geholfen wird.
IEnumerable
? Was linq-provider(z.B. Linq-To-SQL, Linq-To-Objects)?Linq-to-Objects. Ich erstelle eine IEnumerable-Typ der meine Einheiten aus meinem Modell.
bitte betrachten Sie die Annahme Antworten, dass Ihnen geholfen wird.
InformationsquelleAutor user2112420 | 2013-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
+1 und auch gemäß dieser Fragesteller (stackoverflow.com/questions/20689149/...) zu dieser Lösung. sieht nett aus
Danke. +1 Dies ist ein wirklich einfach zu verstehen und die Beispiel ziemlich komplexe Gruppierung mit Linq. Kommt zurück zu schauen, es wieder und wieder, bis Ihr in mein Hirn gebrannt.
InformationsquelleAutor Rango
Müssen Sie eine Funktion definieren, die bestimmen können, welche Woche ein Termin in:
Dann die LINQ-Abfrage der Gruppe ist:
Können Sie Durchlaufen die Gruppen-Liste Projekte:
Wo? Du meinst auf der
IGrouping<int, Project>
?Sie konnte nur die Gruppe von
Calendar.GetWeekOfYear
, und "umbenennen" werden die Gruppen in einem zweiten Schritt oder während der Iteration über Sie.Ich muss diese Abfrage zu einem Bericht von telerik report.
InformationsquelleAutor AlexFoxGill
Ich denke, um diese Aufgabe zu vereinfachen, können Sie hinzufügen, Wochennummer Eigentum in Projekt-Klasse
und füllen Sie es, wenn Sie erstellen-Objekt des Projekts, nachdem Sie können einfache group by-Wochennummer Eigenschaft
InformationsquelleAutor Serghei
Denke ich, nur eine einfache Projektion ausreichend:
InformationsquelleAutor code4life
Können Sie die
GetWeekOfMonth
Erweiterung veröffentlicht hier:tun, und dann etwas wie:
InformationsquelleAutor Juan Ayala
Neben
Tim Schmelter's
Antwort, die Sie bekommen können das Datum des ersten Tages in der Woche dann die Gruppe nach diesem Datum.Erhalten Sie das Datum des ersten Tag der Woche.
Sie können diesen code verwenden:
dann können Sie die Gruppe durch das erste Datum der Woche so:
InformationsquelleAutor hoss77