2016-08-02 24 views
1

wie Sie sehen können, ich versuche, mehrere Anweisungen durch Anweisungen am Ende der Anweisung auszuführen. Meine Ergebnisse kommen nicht korrekt zurück.linq Wie würde ich diese Anweisung bestellen

var query = 
    (from x in workloadDetail 
    group x by new { x.titleOrder, x.httitle } into sortedData       
    select new WorkloadSummary() 
    { 
    httitle = sortedData.Key.httitle, 
    totalHrs = sortedData.Sum(x => x.totalHrs), 
    totalDol = sortedData.Sum(x => x.totalDol), 
    titleOrder = sortedData.Key.titleOrder 
    }).OrderBy(x => x.httitle).OrderByDescending(x => x.totalHrs); 

Antwort

4

Verwenden Sie die Methode ThenByDescending, um die sekundäre Sortierung in absteigender Reihenfolge anzuwenden.

.OrderBy(x => x.httitle).ThenByDescending(x => x.totalHrs); 
5

Wenn Sie mehrere sind Verkettungs OrderBy() Abfragen, müssen Sie ThenBy() und ThenByDescending() für nachfolgende Eigenschaften verwenden, um sie in der richtigen Reihenfolge angewendet werden:

.OrderBy(x => x.httitle).ThenByDescending(x => x.totalHrs); 
+0

ich war 9 sec schnell: P – Sajeetharan

Verwandte Themen