Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Azure存储表中的每个分区中获取顶行_Azure_Storage_Partition - Fatal编程技术网

如何从Azure存储表中的每个分区中获取顶行

如何从Azure存储表中的每个分区中获取顶行,azure,storage,partition,Azure,Storage,Partition,我有一个Azure存储表,其中每个分区存储有关我的自定义数据类的一些信息。每个分区行更像是该类的历史记录,查询时只支持返回最新记录 当我知道要查找哪个分区时,很容易得到如下最新记录: string pkFilter = TableQuery<MyEntity>.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionkeyvalue); var query = new TableQuery<

我有一个Azure存储表,其中每个分区存储有关我的自定义数据类的一些信息。每个分区行更像是该类的历史记录,查询时只支持返回最新记录

当我知道要查找哪个分区时,很容易得到如下最新记录:

string pkFilter = TableQuery<MyEntity>.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionkeyvalue);
var query = new TableQuery<MyEntity>().Where(pkFilter).Take(1);
string pkFilter=TableQuery.GenerateFilterCondition(“PartitionKey”,QueryComparisons.Equal,partitionkeyvalue);
var query=new TableQuery().Where(pkFilter).Take(1);

现在的场景是从所有分区获取顶部记录。如何在一次调用中高效地检索每个分区的顶部记录?

您实际上是在尝试按操作应用组;这是一个困难的问题,因为没有sql不能很好地处理数据库概念

因此,您唯一的选择仅限于变通办法;如果您有十几个PK,那么在您的表上执行并行操作可能是有意义的。如果有大量PK,则可能需要创建另一个表,该表仅包含最新信息,并作为批处理操作的一部分与原始表同时更新。这样,辅助表始终包含正确的数据(因为批处理操作作为一个整体成功或失败)