我无法弄清楚如何使用OrderBy向TableQuery添加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,如果是,那么如何?
答案 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();