c# - Azure 表存储在一个事务中读取和更新项目
问题描述
表存储中有什么方法可以读取然后更新记录吗?例如在 SQL Server 中,我会使用这样的查询:
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();
当它读取满足“testValue”也更新为 1 的过滤条件的值时,是否有某种方法可以在 where 子句中添加更新子句?
解决方案
不幸的是,这不可能在单个操作中进行。
您必须首先获取一个实体(第一次操作),更新它,然后将其保存回表中(第二次操作)。
推荐阅读
- python - pymongo 数据库的 insert() 和 insert_one() 方法都不能调用“Collection”对象
- sql-server - 'RDBMS' 附近的语法不正确。当我尝试创建外部数据源时,有人遇到同样的问题吗?
- javascript - D3.js 圆形图布局不显示 TypeError
- javascript - 将复杂的普通对象转换为领域对象?
- java - 使用 Java 获取文本文件的最后 MB
- php - 如何将十六进制字符串(或二进制数)转换为有符号短?(PHP)
- java - 使用 ADFS 单次注销
- javascript - 反应错误 - _this2.props.updateShelf 不是函数
- swift - 在每个循环中快速更改不同的标签 labelData
- php - 使用 simple_html_dom 从网站上抓取文本。我想从我正在抓取的 div 中删除一个 div 类