我使用此链接和引用的白皮书来允许我对插入到表存储中的数据进行排序。存储的“实体”具有这个简化的“模式”:
public class Bla : TableEntity
{
public Bla(){}
public Bla(string partitionKey)
{
PartitionKey = partitionKey;
// rowkey + partition = guid/pk
// used to order blas
RowKey = (DateTime.UtcNow.Ticks - DateTime.MinValue.Ticks).ToString();
}
}
我可以轻松地获得按行键升序排序的“页面”(最大页面大小 1000),如下所示:
var query =
(from s in _table.CreateQuery<Bla>()
where
s.PartitionKey == _partitionKey &&
string.Compare(s.RowKey, rowKeyToUse, StringComparison.Ordinal) > 0
select s).AsTableQuery();
我有这个用例,我想选择行键大于长的任何实体(行键只是记号 - 长表示为字符串)。所以我尝试了这个:
var query =
(from s in _table.CreateQuery<Bla>()
where
s.PartitionKey == _partitionKey &&
s.RowKey.CompareTo(635919954373048408) > 0 &&
string.Compare(s.RowKey, rowKeyToUse, StringComparison.Ordinal) > 0
select s).AsTableQuery();
但我得到一个 404。有什么想法吗?