如何在 Azure 表存储上设置多个筛选器?
这是我尝试过的:
string partitionFilter = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, "partition1");
string date1 = TableQuery.GenerateFilterCondition("Date", QueryComparisons.GreaterThanOrEqual, "31-8-2013T14:15:14Z");
string date2 = TableQuery.GenerateFilterCondition("Date", QueryComparisons.LessThanOrEqual, "31-8-2013T14:15:14Z");
string finalFilter = TableQuery.CombineFilters(partitionFilter, TableOperators.And, date1);
这不起作用,因为TableQuery.CombineFilters()
只需要 3 个参数。我需要第二个日期的额外参数。
我的第二次尝试:
string filter = "PartitionKey eq 'partition1' and Date ge datetime'31-8-2013T14:15:14Z' and Date lt datetime'31-8-2013T14:19:10Z'";
TableQuery<CustomEntity> query = new TableQuery<CustomEntity>().Where(filter).Take(5);
这返回400 bad request
。但是,如果我删除“日期时间”,它会运行但不返回任何结果,而它应该返回几 100 条记录。
根据这个来自 msdn 的文档,这就是日期时间的格式。
我的结果应该是两个日期之间的所有记录。
我怎样才能使这项工作?