Odata Url按降序排序

时间:2014-04-29 10:38:36

标签: odata odata4j

我需要按患者的Visidate降序获取数据,所以我尝试了这样的网址

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

但显示异常

{" odata.error" {"代码":"""消息" {"朗&# 34;:" en-US"," value":"属性访问的父值' VisitDate'不是单一的价值。属性访问权限只能应用于单个值。"}}}

2 个答案:

答案 0 :(得分:2)

原因是DEPatientVisits不是单值导航属性,因此无法为其附加属性名称。如果它是单值的,它可以正常工作,例如:

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

答案 1 :(得分:1)

感谢您的邀请。

我不完全理解你的问题。你想在DEPhysicians中对实体进行排序吗?还是DEPatientVisits?

如果您尝试让DEPhysicians内联展开DEPatientVisits,并希望通过VisitDate在 DEPatientVisits 中排序实体,您可以尝试:

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

如果您尝试根据DEPatientVisits \ VisitDate对DEPhysicians中的实体进行排序,那么,就像来自@tanjinfu的答案一样,DEPatientVisits不应该是一个集合。否则,您希望用于排序的DEPatientVisits中的哪个条目的访问日期?