我想根据多个分区键值从azure表存储中获取记录。
我在下面的链接中提到了多个条件的查询数据:
Querying Windows Azure Table Storage with multiple query criteria
在上面的图片中,您可以看到表中有四条记录,我现在想要根据两个分区键值获取记录。例如,我想根据section1和section2分区键值获取记录。
所以我的问题是我能写一个单一的声明吗?
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "**section1, section2**");
就像我们在SQL查询中写的一样。
或者我们需要为每个搜索条件编写GenerateFilterCondition倍数。
答案 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);