c# - Azure 表存储 sdk 1.6 Upsert 未插入

标签 c# azure azure-storage azure-table-storage azure-sdk-.net

我正在尝试使用 asure sdk 1.6 的新 upsert 功能(针对存储模拟器)。

但我只是设法让更新工作。当我尝试更新插入新的行键时,出现资源未找到异常。

 var context = new TableServiceContext(_cloudStorageAccount.TableEndpoint.ToString(), _cloudStorageAccount.Credentials)
            {
                MergeOption = MergeOption.NoTracking,
                ResolveType = (unused) => typeof(SmartTableServiceEntity)
            };
context.AttachTo(tableName, smartEntity, "*");
            context.UpdateObject(smartEntity);
            context.SaveChangesWithRetries(SaveChangesOptions.ReplaceOnUpdate);

如果我放置AddObject,它会执行插入操作,但不会执行更新操作。 我想借助新的 sdk,能够一次完成这两件事。

最佳答案

它仅适用于真正的 Azure 存储。开发存储不支持Upsert操作。 此外,您还必须将 tableServiceContext 的 IgnoreResourceNotFoundException 属性设置为 true。

关于c# - Azure 表存储 sdk 1.6 Upsert 未插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8587845/

相关文章:

c# - 使用 Google .NET API 复制 Google Docs 电子表格

c# - .NET Core 但不是 .NET Framework 的 400 BadRequest 响应

c# - 如何扩展 C# 类

php - 如何将 Composer 的 PHP 扩展添加到 Azure DevOps Pipeline

azure - 如何在Azure上进行安全备份?

c# - 下载的 Google 云端硬盘文件损坏 c#

sql - 为什么此 Azure SQL 存储过程无法执行?

azure - Azure 资源组列表支持哪些筛选操作

asp.net-mvc-3 - 存储库模式和Azure表存储(???)

javascript - 使用纯 JavaScript 和 Azure-Storage-Js 下载 Azure 存储 Blob