【发布时间】:2015-03-08 15:12:30
【问题描述】:
在 SQL Server 中,我可以执行如下查询:
SELECT *
FROM Products
WHERE ProductId IN (1, 24, 9224)
我怎样才能对 Azure 表存储做同样的事情?如果不支持IN-type 运算符,那么基于非连续 ID 值检索数据子集(例如 1,000,000 条中的 100 条记录)的标准方法是什么?
【问题讨论】:
在 SQL Server 中,我可以执行如下查询:
SELECT *
FROM Products
WHERE ProductId IN (1, 24, 9224)
我怎样才能对 Azure 表存储做同样的事情?如果不支持IN-type 运算符,那么基于非连续 ID 值检索数据子集(例如 1,000,000 条中的 100 条记录)的标准方法是什么?
【问题讨论】:
我也在为同样的事情苦苦挣扎,但我找到了解决方法。希望它可以帮助其他人。 我们可以使用 join 来实现这个要求。
var a = from prods in products
join pId in productIds on prods.productId equals pId
select prods;
得到了这种方法here
【讨论】:
【讨论】:
IN 子句本身不受支持,但您可以使用 OR 查询来实现相同的目的。像(ProductId eq 1) or (ProductId eq 24) or (ProductId eq 9224) 这样的东西。如果您没有在查询中使用PartitionKey,请注意可能的表扫描。 HTH。