从 Azure 表的输出列表中选择随机记录的有效方法是什么?以下代码始终返回相同的记录。这是什么原因?
T entity = new T();
TableQuery<T> query = new TableQuery<T>();
var tableSet = table.ExecuteQuery(query).ToList();
if (tableSet.Count >= 1)
{
return tableSet.First();
}
return null;
Following code return always same record. Whats the reason for that?
如您所知,Azure 表中的记录按字母顺序排序,首先按 PartitionKey
排序,然后按每个 PartitionKey
的 RowKey
排序。由于您没有指定任何查询条件,表服务将从顶部(即第一个分区)开始获取数据。现在您要求表存储仅返回一条记录,它将选择该分区中的第一条记录。这就是为什么您会得到相同的记录。
如果你想返回随机结果,你必须指定一些查询参数。一种可能性是随机指定 PartitionKey 值。如果表中存在 PartitionKey,则返回该分区中的第一条记录。
我是一名优秀的程序员,十分优秀!