TableQuery 是不是支持 OrderBy?
Posted
技术标签:
【中文标题】TableQuery 是不是支持 OrderBy?【英文标题】:Does TableQuery support OrderBy?TableQuery 是否支持 OrderBy? 【发布时间】:2015-07-04 19:33:33 【问题描述】:我不知道如何使用Azure Table Storage 将OrderBy 子句添加到TableQuery。
根据their documentation Azure supports OData $orderby。如果我尝试通过将$orderby=PartitionKey
添加到TableQuery Where 子句来破解它,那么'$'
是HTTP 编码的,因此我会收到400 服务器错误 - 所以破解它是行不通的。这是我的 hack 产生的结果:
GET /devstoreaccount1/NewTable3?$filter=PartitionKey%20ne%20%27pkey992%27%24orderby%3DName&$select=Name%2Cregistered%2CPartitionKey%2CRowKey%2CTimestamp HTTP/1.1
TableQuery 是否支持OrderBy,如果支持,那么如何支持?
【问题讨论】:
【参考方案1】:Does TableQuery support OrderBy, and if yes then how?
没有。截至今天,Table Service
不支持Order By
。请查看支持的LINQ Operators
here列表。
您需要做的是获取数据(将按 PartitionKey 和 RowKey 排序)并在客户端应用排序。
【讨论】:
是的,我现在找到了 Azure 表服务支持的 OData 查询选项列表,但 $orderby 不在其中,很遗憾。 msdn.microsoft.com/en-us/library/azure/dd894031.aspx以上是关于TableQuery 是不是支持 OrderBy?的主要内容,如果未能解决你的问题,请参考以下文章
使用 slick 3.0.0-RC1 在 TableQuery 上找不到方法结果
如何在 azure 表存储中使用 new TableQuery<T>
分页错误:仅 LINQ to Entities 中的排序输入支持“跳过”方法。方法 'OrderBy' 必须在方法 'Skip' 之前调用
Hibernate 文档:@OrderBy - 它是不是在内存中排序?
.Net Core 3.1 中的 IEnumerable.OrderBy().First() 优化是不是记录在任何地方?