我有一个 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();
最佳答案
您希望 组合 多个过滤器。
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");
关于c# - 如何从 Azure 表存储中的分区键列表进行查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53164232/