Azure表 - 如何更新值

时间:2016-01-15 14:12:25

标签: azure azure-table-storage

这是非常基本但我无法找到帮助我的资源,这是我的实体:

public class PetEntity : TableEntity
        {
            public PetEntity(String petName)
            {
                this.PartitionKey = petName;
            }
            public PetEntity() { }
            public int lvl { get; set; }
            public int exp { get; set; }
            public int hp { get; set; }
            public int ap { get; set; }
            public int dp { get; set; }
        }

我做了一个循环,将所有宠物的当前hp增加1,看起来像这样:

foreach (PetEntity entity in table.ExecuteQuery(query))
                {
                    entity.hp++;
                    Trace.TraceInformation("HP of {0} enhanced to {1}.", entity.PartitionKey, entity.hp);
                }

问题是增强的惠普确实更新了第一个输出,但下次我到达entity.hp它保持不变,价值不会更新。

注意 - 它到达实体,这不是问题。

1 个答案:

答案 0 :(得分:4)

更改其中一个值后,您必须手动replace the entity

foreach (PetEntity entity in table.ExecuteQuery(query))
{
    entity.hp++;
    table.Execute(TableOperation.Replace(entity));
    Trace.TraceInformation("HP of {0} enhanced to {1}.", entity.PartitionKey, entity.hp);
}