TableQuery是否支持OrderBy?

时间:2015-04-26 11:52:40

标签: c# azure odata azure-storage

我无法弄清楚如何使用OrderByTableQuery添加Azure Table Storage子句。

根据their documentation Azure supports OData $orderby。如果我通过向TableQuery Where子句添加$orderby=PartitionKey来尝试破解它,'$'是HTTP编码的,因此我得到400服务器错误 - 所以黑客攻击它不会工作。这是我的黑客产生的:

GET /devstoreaccount1/NewTable3?$filter=PartitionKey%20ne%20%27pkey992%27%24orderby%3DName&$select=Name%2Cregistered%2CPartitionKey%2CRowKey%2CTimestamp HTTP/1.1

TableQuery是否支持OrderBy,如果是,那么如何?

2 个答案:

答案 0 :(得分:11)

Does TableQuery support OrderBy, and if yes then how?

没有。截至今天,Table Service不支持Order By。请在此处查看支持的LINQ Operators列表:https://msdn.microsoft.com/en-us/library/azure/dd135725.aspx

您需要做的是获取数据(将按PartitionKey和RowKey排序)和客户端的应用排序。

答案 1 :(得分:-1)

可能不在REST API中,但使用linq可以使用以下方式完成

    List<AttendanceEntity> SortedList = table.ExecuteQuery(query).OrderByDescending(o => o.dateTImeStr).ToList();