如何更新azure表实体中的单个属性

时间:2016-08-26 09:10:08

标签: asp.net-mvc azure azure-table-storage

您好我正在制作azure table" T1" 这个表有实体集列表

Primarykey  RowKey   P1  P2
PP          R1       5   10
PP          R2       6   11

现在假设我只想更新P2属性而不想触摸P1属性 这可能是更新azure表实体中的单个属性。 记住我不想触摸P1属性,因为它会通过其他功能不断更新

1 个答案:

答案 0 :(得分:9)

您要执行的操作是Merge Entity。从REST API文档:

  

合并实体操作通过更新现有实体来更新   实体的属性。 此操作不会替换现有操作   实体,作为更新实体操作。

以下是您可以使用的示例代码:

    static void MergeEntityExample()
    {
        var cred = new StorageCredentials(accountName, accountKey);
        var account = new CloudStorageAccount(cred, true);
        var client = account.CreateCloudTableClient();
        var table = client.GetTableReference("TableName");
        var entity = new DynamicTableEntity("PartitionKey", "RowKey");
        entity.ETag = "*";
        entity.Properties.Add("P2", new EntityProperty(12));
        var mergeOperation = TableOperation.Merge(entity);
        table.Execute(mergeOperation);
    }

以上代码仅更新实体中的“P2”属性,不会触及其他属性。