我有一个Azure表,其中分区键是登录到网站的用户的配置文件ID,因此,如果我有一个用户ID列表,那么如果该ID表中有分区键,则需要获取。我想返回找到的ID(分区键)的列表。
我似乎无法在网上找到任何好的信息,也就是说我可以轻松做到这一点!
如果需要,我可以移至Sql Server而不是Azure存储表
我想做这样的事情
var query = new TableQuery<ConnectionEntity>()
.Where(TableQuery.GenerateFilterCondition("PartitionKey" , QueryComparisons.Equal, "1 or 3 or 4"));
var queryResult = table.ExecuteQuery(query).ToList();
答案 0 :(得分:0)
您要组合多个过滤器。
var filterOne = TableQuery.GenerateFilterCondition("PartitionKey" , QueryComparisons.Equal, "1");
var filterTwo = TableQuery.GenerateFilterCondition("PartitionKey" , QueryComparisons.Equal, "2");
var filterThree = TableQuery.GenerateFilterCondition("PartitionKey" , QueryComparisons.Equal, "3");
var combinedFilters = TableQuery.CombineFilters(
TableQuery.CombineFilters(
filterOne,
TableOperators.Or,
filterTwo),
TableOperators.And, filter3);
var query = new TableQuery<ConnectionEntity>()
.Where(combinedFilters);
或者,对您的CreateQuery<T>()
使用CloudTable
可能会更容易,这将使您可以编写LINQ查询:
_cloudTable.CreateQuery<ConnectionEntity>()
.AsQueryable()
.Where(w => w.PartitionKey == "1"
|| w.PartitionKey == "2"
|| w.PartitionKey == "3");