是否可以使用C#从Azure表存储中检索前n条记录?我使用的是.NET Core。
如果我能得到一些参考资料,那将会很棒。
请注意,我的所有实体都使用日志尾部模式https://docs.microsoft.com/en-us/azure/cosmos-db/table-storage-design-guide#log-tail-pattern
进行存储谢谢, 普利文
答案 0 :(得分:4)
您可以在创建Take()时使用TableQuery方法:
TableQuery<T> query = new TableQuery<T>().Take(takeCount);
或者设置属性TakeCount以指定它:
TableQuery<T> query = new TableQuery<T>();
query.TakeCount = takeCount;
答案 1 :(得分:0)
我们为获取表的顶部实体所做的工作如下:
var query = new TableQuery<TEntity>()
.Where(partitionFilter)
.Take(limit);
return await ExecuteQuery(table, query);
创建查询,并使用.Take(limit)
指定我们想要多少个实体。
do
{
var seg = await table.ExecuteQuerySegmentedAsync<TEntity>(query, token);
token = seg.ContinuationToken;
items.AddRange(seg);
} while (token != null && items.Count < query.TakeCount);
在ExecuteQuery
方法中,我们计算了从表中检索到的记录数。这是我们的工作方式和工作方式,我假设为了接受排名靠前的n
实体,应将limit
设置为n
。