Windows Azure更新表rowkey

时间:2014-03-09 14:51:51

标签: azure azure-table-storage

我在blobstorage中存储图像,并在tablestorage中存储有关该图像的信息。表rowkey是图像名称。 我想更改所选项目的图像描述(rowkey)。

//string name is the bloburl, string description is the new image description
public ActionResult UpdateImageDescription(string Name, string ImageDescription)
{
    //Get blob url
    Uri bloburi = new Uri(Name);
    string filename = System.IO.Path.GetFileName(bloburi.LocalPath);

    //Get tabledata and make it a list
    CloudTable table = tableStorageServices.GetCloudTable();
    TableQuery<ImageEntity> query = new TableQuery<ImageEntity>();

    foreach (ImageEntity entity in table.ExecuteQuery(query))
    {
//find the matching urls
        if (bloburi.ToString() == entity.Url)
        {
            entity.ImageDescription = ImageDescription;
            break;
        }
    }

我调试了程序,我可以看到图像描述和新的图像描述是正确的,但似乎并没有保存更改。

感谢您帮助我。我还是个新手@azure所以请耐心等待我:)

1 个答案:

答案 0 :(得分:3)

您需要将您所做的更改写入Azure - 您没有这样做。如果要合并更改,则应使用Merge操作。如果您打算替换整个实体,可以使用Replace操作。要使用Replace操作,您可以执行以下操作:

TableOperation replaceOperation = TableOperation.Replace(entity);
table.Execute(replaceOperation);