我将实体存储在一个表中,如下所示:
public class Record : TableEntity
{
public double Version;
public string User;
}
基本上,我想检索所有的rowkey,只有整个表的Version列(即整个前2列)。因为没有太多的条目,所以只有一个PartitionKey。如何以编程方式检索这些列?我知道查询投影,并且在Azure站点上看过这个例子,但是我不知道如何扩展它来达到我的目的。
任何帮助将不胜感激!
请尝试以下代码。本质上,您需要在查询的SelectColumns
属性中指定希望获取的列。我没有指定任何过滤条件,因为您提到该表不包含那么多实体。
static void QueryProjectionExample()
{
var cred = CloudStorageAccount.DevelopmentStorageAccount;
var client = cred.CreateCloudTableClient();
var table = client.GetTableReference("TableName");
var query = new TableQuery<DynamicTableEntity>()
{
SelectColumns = new List<string>()
{
"RowKey", "Version"
}
};
var queryOutput = table.ExecuteQuerySegmented<DynamicTableEntity>(query, null);
var results = queryOutput.Results;
foreach (var entity in results)
{
Console.WriteLine("RowKey = " + entity.RowKey + "; Version = " + entity.Properties["Version"].StringValue);
}
}