2017-10-26 1 views
0

Eingang:Sortierung Eltern-Kind mit orderby Linq

enter image description here

Ich mag Linq-Abfrage, um nach Jobnamen (Eltern) und die Sequenz des Kindes mit in der Liste des Objekts

i unten entwickeln versucht Abfrage (nicht funktioniert)

qry = qry.OrderBy(j => j.Id).ThenBy(j => j.jobName).ThenBy(j => j.documentGroupId); 

Erwartete Ausgabe:

enter image description here

Irgendwelche Hilfe !!!

+0

hinzufügen ToList() Liste nach Abfrage qry = qry.OrderBy (j => j.Id) .ThenBy (j => j.jobName) .ThenBy (j => j.documentGroupId) .ToList() ; –

+0

Können Sie mehr über die Spalten erklären? –

+0

Nein, ich habe es gerade mit meinem Wissen versucht –

Antwort

0

Soweit ich sehen kann, ist das erwartete Ergebnis Reihenfolge von ID Spalte zuerst, aber von 1004 bis 1001, was bedeutet, dass Sie es durch absteigend bestellen müssen. Verwenden Sie stattdessen Enumerbale.OrderByDescending und Enumerable.ThenByDescending.

Sie sollten versuchen, dass:

var result = qry.OrderByDescending(j => j.Id). 
      ThenBy(j => j.SubId). 
      ThenBy(j => j.JobName). 
      ThenByDescending(j => j.DocumentGroupId).ToList(); 

Auch wäre es schön, mehr Details zu haben, wie sollten die Dinge sortiert werden. Nicht nur der erwartete Ergebnisbildschirm.

0

Gefällt mir?

qry = 
    qry 
    .GroupBy(j => j.Id) 
    .OrderBy(group => group 
     .Single(j => j.SubId == 0) 
     .Name) 
    .SelectMany(group => group 
     .OrderBy(j => j.SubId)) 
    .ToList();