2017-11-05 2 views
0

Ich habe eine Abfrage, die nicht meine order by-Klausel scheint überhaupt zu respektieren,Linq mit verbinden verschieden und Ordnung von

kann mir jemand helfen dieses Problem lösen bitte?

Dim Result = ((From z As lnkCategorySubCategory In dbContext.lnkCategorySubCategories 
        Join x As SubItem In dbContext.SubItems On x.Id Equals z.CategoryId 
        Join p As lnkItemsCategory In dbContext.lnkItemsCategories On z.CategoryId Equals p.ItemCategoryId 
        Order By z.IsHeadColumn Descending 
        Order By z.Order Descending 
        Select x.Name)).Distinct 
+0

zeigen ein Beispiel, wie die Ergebnisse derzeit schauen und ein anderes Beispiel zeigen, wie sie bestellt werden sollten. –

Antwort

0

Ohne weitere Informationen kann ich Ihnen nicht sagen, was das Problem verursacht. Wenn ich aber eine wilde Vermutung nehmen, würde ich vorschlagen, dass Sie dies ändern:

Order By z.IsHeadColumn Descending 
Order By z.Order Descending 

Um dies:

Order By z.IsHeadColumn, z.Order descending 
0

ich orderby z.IsHeadColumn descending, z.Order descending fühlen sollte funktionieren

+0

Der einzige Grund, warum ich dies als separate Antwort hinzugefügt habe, ist, dass ich mich gefragt habe, wie "Order By" kompiliert werden könnte, wenn man bedenkt, dass dies eine Abfragesyntax ist (ich kann ab sofort nicht abstimmen). Und jetzt, dass ich gepostet habe, lassen Sie mich einfach so viel hinzufügen, dass Sie "ThenBy" extn Methode mit Methodensyntax verwenden können. –

+0

Eine andere Sache, die ich fühlte, war, dass die Verbindung nicht korrekt aussah. Sollte es nicht "Join x As SubItem in dbContext.SubItems auf x.CategoryId Equals z.Id" sein? –

Verwandte Themen