2012-09-24 9 views
7

मैं इस URLओडाटा में बच्चे के कुछ गुणों के अनुसार वस्तुओं को कैसे ऑर्डर कर सकता हूं?

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

कहाँ ComponentComponentPresentation और Keywords की संपत्ति है Component की संपत्ति है का उपयोग कर OData में कुछ कस्टम छंटाई करने के लिए कोशिश कर रहा हूँ, और मैं कीवर्ड का Title विशेषता के अनुसार ComponentPresentation क्रमबद्ध करना चाहते हैं । लेकिन कीवर्ड और न ही शीर्षक घटक प्रस्तुति की एक संपत्ति है

क्या केवॉर्ड के शीर्षक की विशेषता के अनुसार परिणाम क्रमबद्ध करने का कोई तरीका है? घटक का एक बच्चा कौन सा है, जो घटक प्रतिनिधित्व का बच्चा है?

+0

@VladL ऊपर (क्षमा करें, मैं प्रतिनिधि अंक टिप्पणी करने के लिए नहीं है), मुझे नहीं लगता है कि या तो काम करता है ...। मैंने बस कोशिश की और ऑर्डर_Details के लिए चयनित कथन में मात्रा जोड़ा: http://services.odata.org/V4/Northwind/Northwind.svc/Orders?$select=OrderID&$expand=Order_Details($select=UnitPrice,Quantity ; ऑर्डरबी = मात्रा) ऐसा नहीं लगता है कि ऑर्डर_Details को मात्रा द्वारा क्रमबद्ध किया जा रहा है। –

उत्तर

6

यह एक नेस्टेड एकल प्रमुखता संपत्ति परिणामों को क्रमित करना उदाहरण के लिए संभव है: http://services.odata.org/V3/Northwind/Northwind.svc/Orders?$top=50&$expand=Customer&$orderby=Customer/City

AFAIK, यह कई की प्रमुखता है (हालांकि यह होगा एक नेविगेशन संपत्ति के साथ ऐसा करना संभव नहीं है विस्तारित फ़ीड में वापस आने के क्रम में विस्तृत परिदृश्यों में उपयोगी)।

5

बस यह उल्लेख करना चाहते हैं कि ओडाटा वी 4 के बाद से यह संभव है। जैसा कि आप चाहें उतने विस्तार/चयन/ऑर्डरबी/फिल्टर को घोंसला कर सकते हैं। अब यह रूप में सरल रूप में

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

+0

सिंटैक्स सही है, लेकिन नेस्टेड ऑर्डरबी परिणाम में कुछ भी नहीं बदलता प्रतीत होता है। – sroll

+0

@sroll मैंने odata.org से नमूना ओडाटा सेवाओं के साथ बहुत समय बिताया है और देखा है कि यदि सेवा कम नहीं है, तो आपको विभिन्न समय पर अलग-अलग परिणाम मिलते हैं;) इसे TripPin http: // www के साथ आज़माएं। odata.org/odata-services/ – VladL

+0

यदि वाक्यविन्यास सही है, तो यह अजीब है कि यह तब काम नहीं करता है: s – NicoJuicy

संबंधित मुद्दे