Azure表:从整个表中获取所有行键+特定列?

时间:2016-09-02 19:00:02

标签: c# azure azure-storage azure-table-storage

我有一个存储在一个表中的实体看起来像(在这里被截断):

public class Record : TableEntity
{
    public double Version;
    public string User;
}

基本上,我想要检索整个表的所有RowKeys和Version列(即整个前2列)。只有一个PartitionKey,因为没有太多的条目。如何以编程方式检索这些列?我已经了解了查询投影,并在Azure网站上看到过这个示例,但我不知道如何在此处扩展它。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

请尝试以下代码。实际上,您需要在查询的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);
        }
    }