使用多个值查询Windows Azure表存储以查找单个筛选条件

时间:2015-10-12 05:42:29

标签: azure storage

我想根据多个分区键值从azure表存储中获取记录。

我在下面的链接中提到了多个条件的查询数据:

Querying Windows Azure Table Storage with multiple query criteria

enter image description here

在上面的图片中,您可以看到表中有四条记录,我现在想要根据两个分区键值获取记录。例如,我想根据section1和section2分区键值获取记录。

所以我的问题是我能写一个单一的声明吗? TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "**section1, section2**");就像我们在SQL查询中写的一样。

或者我们需要为每个搜索条件编写GenerateFilterCondition倍数。

1 个答案:

答案 0 :(得分:2)

  

所以我的问题是我能写一个单一的声明吗?   TableQuery.GenerateFilterCondition(" PartitionKey&#34 ;,   QueryComparisons.Equal," section1,section2 ");就像我们写的那样   SQL查询。

     

或者我们需要为每个编写GenerateFilterCondition倍数   搜索条件。

截至今天,Azure Table Service不支持IN类SQL数据库,因此您需要编写由OR逻辑连接器连接的多个过滤条件。例如,

        var pk1Filter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "section1");
        var pk2Filter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "section2");
        var pk3ilter = = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "section3");
        var filter = TableQuery.CombineFilters(pk1Filter, TableOperators.Or, TableQuery.CombineFilters(pk2Filter, TableOperators.Or, pk3Filter);