Azure Table 存储在一次事务中读取和更新项目

Azure Table storage read and update items in one transaction

在table存储中有什么方法可以读取然后更新记录吗?例如在 SQL 服务器中我会使用这样的查询:

UPDATE table
SET
    testValue = 1
OUTPUT
    inserted.columnA,
    inserted.columnB,
    inserted.columnC
WHERE
    testValue = 0

目前我的代码如下所示:

var filter = "testValue eq 0";
var rangeQuery = new TableQuery<AzStorageEntityAdapter<T>>().Where(filter);

var result = _cloudTable.ExecuteQuery(rangeQuery);

var azStorageEntities = result.ToList();
IList<T> results = azStorageEntities.Select(r => r.InnerObject).ToList();

有什么方法可以在我的 where 子句读取满足 'testValue' 也更新为 1 的过滤条件的值时添加更新子句吗?

很遗憾,一次操作是不可能的。

您必须先获取一个实体(第 1 次操作),更新它,然后将其保存回 table(第 2 次操作)。