2012-09-24 3 views
7

Ich versuche, einige benutzerdefinierte Sortierung in OData mit dieser URLWie kann ich Objekte nach einem Attribut des Kindes in OData ordnen?

localhost:82/odata.svc/ComponentPresentations?$filter=TemplateId eq 2894 and publicationId eq 10&$expand=Component/Keywords?$orderby=Title desc 

Wo Component ist eine Eigenschaft von ComponentPresentation und Keywords ist Eigentum von Component zu tun, und ich möchte nach der ComponentPresentation sortieren, um das Title Attribut Keyword . Aber Schlüsselwörter oder Titel sind eine Eigenschaft der Komponentenpräsentation

Gibt es eine Möglichkeit, die Ergebnisse nach dem Attribut des Keword-Titels zu sortieren? Was ist ein Child of Component, ein Kind von ComponentPresentation?

+0

@VladL oben ... (sorry, ich habe nicht die rep Punkte Kommentar), ich glaube nicht, dass entweder funktioniert. Ich habe es gerade ausprobiert und Quantity zur select-Anweisung für die Order_Details hinzugefügt: http://services.odata.org/V4/Northwind/Northwind.svc/Orders?$select=OrderID&$expand=Order_Details($select=UnitPrice,Quantity ; $ orderby = Menge) Es scheint nicht, dass die Order_Details nach Menge sortiert sind. –

Antwort

5

Ich möchte nur erwähnen, dass es seit OData V4 möglich ist. Sie können so viele Schächte einfügen, wie Sie möchten. Jetzt ist es so einfach wie

http://services.odata.org/V4/Northwind/Northwind.svc/Orders?$select=OrderID&$expand=Order_Details($select=UnitPrice;$orderby=Quantity)

+0

Die Syntax ist korrekt, aber die verschachtelte Reihenfolgeby scheint nichts am Ergebnis zu ändern. – sroll

+0

@sroll Ich habe viel Zeit mit OData-Beispieldiensten von odata.org verbracht und festgestellt, dass Sie zu unterschiedlichen Zeiten unterschiedliche Ergebnisse erhalten, wenn der Dienst überhaupt nicht ausgefallen ist;) Versuchen Sie es mit TripPin http: // www. odata.org/odata-services/ – VladL

+0

Wenn die Syntax stimmt, ist es komisch, dass es dann nicht funktioniert: s – NicoJuicy

Verwandte Themen