我正在使用Azure表存储,我希望能够使用OData进行查询。我遇到了Microsoft.Rest.Azure.OData.ODataQuery
课,但我找不到任何关于如何消费的例子。
CloudTable
对象允许通过TableQuery<T>
对象进行查询,那么有没有办法将ODataQuery
转换为TableQuery
?
我知道早期版本的Azure表存储使用了底层的OData API,但我不知道是否仍然如此,我还没有找到任何文档详细说明该表是否可以通过OData公开。
任何人都可以解释如何使用OData查询Azure表存储 - 最好是通过库吗?
修改
为清楚起见,我知道表存储公开了一个接受OData查询的REST API;我正在寻找的是一种以编程方式传递OData查询的方法:如果我有一个ODataQuery
对象,我该如何使用它来查询CloudTable
对象?
答案 0 :(得分:1)
任何人都可以解释如何使用OData查询Azure表存储 - 最好是通过库吗?
我们可以从Querying Tables and Entities得到答案。 我们还可以从Get started with Azure Table storage using .NET
获取C#演示代码Table服务支持以下查询选项,这些选项符合OData协议规范。您可以使用这些选项来限制查询返回的表,实体或实体属性集。
<强>更新强>
如果我们使用fiddler捕获库请求,我们可以得到该库在发送请求之前构造OData查询。
我正在寻找的是一种以编程方式传递OData查询的方法:如果我有一个ODataQuery对象,我该如何使用它来查询CloudTable对象?
目前,Azure表存储并不完全支持OData协议规范。据我所知,不支持直接使用OdataQuery对象。
您可以将feedback提供给azure团队。
答案 1 :(得分:1)
如果您的OData
查询可以用字符串表示,则可以使用TableQuery.FilterString
属性。