在OData中,有没有办法按数组中的第一个元素排序?

时间:2017-04-21 16:53:34

标签: odata odata-v4

我有一个OData 4端点,我呼吁在表中显示数据。其中一列有一组数据,这些数据是从我元素中的字符串数组连接起来的。有没有办法按数组中的第一个元素排序?

我的元素可能如下所示:

[ { "FirstName": "John", "MiddleNames": [ "Harry", "Bobby", "Sue" ], "LastName": "Jones" }, ... more elements ]

我想通过MiddleNames [0]订购。

感谢您的帮助!关于$orderby的文档充其量只是稀疏......

1 个答案:

答案 0 :(得分:0)

在OData v4中受支持,该规范不提供用于针对路径表达式的集合或数组中特定项的语法,而$ orderby是路径表达式。但是,在所支持的条件下它非常明确,因此,忽略此限制是设计使然。

  

5.1.1.15 Path Expressions
  如前面的示例所示,由请求URL寻址的资源集的实体类型的属性和导航属性可以用作操作数或函数参数。

     

可以通过与资源路径中相同的语法来使用复杂属性的属性,即通过指定复杂属性的名称,后跟正斜杠(/)和复杂属性的属性名称,等等。上,

     

与目标基数0..1或1相关的实体的属性和导航属性可以通过指定导航属性,后跟正斜杠(/)和相关实体的属性名称来使用上。

     

如果复杂属性为null,或者没有实体关联(在目标基数为0..1的情况下),则其值及其组成部分的值将被视为null。