6

我有一个 OData 4 端点,用于在表格中显示数据。其中一列有一组从我的元素中的字符串数组连接的数据。有没有办法按数组中的第一个元素排序?

我的元素可能如下所示:

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

我想按 MiddleNames[0] 订购。

谢谢您的帮助!$orderby上的文档充其量是稀疏的......

4

1 回答 1

1

这在 OData v4 中不受支持,规范提供针对路径表达式的集合或数组中的特定项目的语法,并且 $orderby 是路径表达式。然而,它在支持的条件上非常明确,因此,通过省略,这种限制是设计使然。

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

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

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

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

于 2019-12-20T11:28:36.240 回答