2012-09-24 15 views
7

estoy tratando de hacer un poco de clasificación personalizada en OData usando este URL¿Cómo puedo pedir objetos de acuerdo con algún atributo del niño en OData?

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

Dónde Component es una propiedad de ComponentPresentation y Keywords es característica de Component, y quiero ordenar la ComponentPresentation acuerdo con el atributo de la palabra clave Title . Pero las palabras clave ni el título son propiedad de la Presentación de componente

¿Hay alguna manera de ordenar los resultados de acuerdo con el atributo del título de Keword? ¿Qué es un Niño de Componente, que es hijo de ComponentPresentation?

+0

@VladL por encima de ... (lo siento, no tengo los puntos rep a comentar), no creo que funciona bien. Lo intenté y agregué Quantity a la declaración de selección para Order_Details: http://services.odata.org/V4/Northwind/Northwind.svc/ Orders ?$select=OrderID&$expand=Order_Details($select=UnitPrice,Quantity ; $ orderby = Cantidad) No parece que Order_Details se esté ordenando por cantidad. –

Respuesta

5

Solo quiero mencionar que es posible desde OData V4. Puede anidar tantas expansiones/selecciones/ordenar por/filtros como desee. Ahora bien, es tan simple como

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

+0

la sintaxis es correcta, pero el orden anidado no parece cambiar nada en el resultado. – sroll

+0

@sroll He pasado mucho tiempo con los servicios de muestra de Odata de odata.org y he notado que se obtienen resultados diferentes en diferentes momentos, si el servicio no se ha reducido;) Pruébelo con TripPin http: // www. odata.org/odata-services/ – VladL

+0

Si la sintaxis es correcta, es raro que no funcione entonces: s – NicoJuicy

Cuestiones relacionadas