2014-04-29 36 views
1

我需要通過降患者的排序依據Visidate獲取數據,所以我試圖URL這樣OData的網址轉換由大到小排序依據

192.168.1.105:33396/FalconCPDataService.svc/DEPhysicians?$format=json&$expand=DEPatientVisits&$orderby=DEPatientVisits/VisitDate+desc 

但顯示異常

{「odata.error」:{「代碼「:」,「message」:{「lang」:「en-US」,「value」:「屬性訪問屬性'VisitDate'的父值不是一個單獨的值。 「}}}

回答

1

原因是DEPatientVisits不是單值導航屬性,所以它不能o爲其添加一個屬性名稱。如果它是單一價值,它可以正常工作,如:

http://services.odata.org/v4/OData/OData.svc/Products?$expand=Supplier&$orderby=Supplier/Name 
+0

如果使用「** expand **」我得到這個異常沒有這個工作正常@tanjinfu – Sreekanth

0

感謝邀請。

我不完全理解你的問題。你想在DEPhysicians中對實體進行排序?或DEPatientVisits?

如果你試圖讓DEPhysicians直列擴大DEPatientVisits,並希望在DEPatientVisits通過VisitDate排序的實體,您可以嘗試:

locolhost/FalconCPDataService.svc/DEPhysicians?$format=json&$expand=DEPatientVisits($orderby=VisitDate desc) 

如果您正在嘗試根據DEPatientVisits在DEPhysicians實體排序\ VisitDate,然後,就像@tanjinfu的答案一樣,DEPatientVisits不應該是一個集合。否則,DEPatientVisits中的哪個VisitDate要用於排序?

+0

謝謝@Maya我試過url哪一個你給我,但它顯示{「odata.error」:{「code 「:」,「message」:{「lang」:「en-US」,「value」:「Term'DEPatientVisits($ orderby = VisitDate desc)'在$ select或$ expand表達式中無效。」} }} – Sreekanth

+0

如果你有時間加入這裏http://chat.stackoverflow.com/rooms/51990/android-query – Sreekanth