是否可以使用C#从Azure表存储检索前n条记录?我正在使用.NET Core。
如果我能得到一些参考资料,那就太好了。
请注意,我的所有实体都使用日志尾模式进行存储:https://learn.microsoft.com/en-us/azure/cosmos-db/table-storage-design-guide#log-tail-pattern
谢谢, Praveen
是否可以使用C#从Azure表存储检索前n条记录?我正在使用.NET Core。
如果我能得到一些参考资料,那就太好了。
请注意,我的所有实体都使用日志尾模式进行存储:https://learn.microsoft.com/en-us/azure/cosmos-db/table-storage-design-guide#log-tail-pattern
谢谢, Praveen
在创建TableQuery时,您可以使用Take()方法:
TableQuery<T> query = new TableQuery<T>().Take(takeCount);
或者设置属性TakeCount来指定它:
TableQuery<T> query = new TableQuery<T>();
query.TakeCount = takeCount;
TakeCount
对我来说不起作用。我不得不遵循这个示例并检查检索到的实体计数。无论如何,这个答案是实现解决方案的第一步 :) - Marian Simoncavar 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
。
.Take(n)
。 - Peter B