我在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所以请耐心等待我:)
答案 0 :(得分:3)
您需要将您所做的更改写入Azure - 您没有这样做。如果要合并更改,则应使用Merge
操作。如果您打算替换整个实体,可以使用Replace
操作。要使用Replace
操作,您可以执行以下操作:
TableOperation replaceOperation = TableOperation.Replace(entity);
table.Execute(replaceOperation);