c# - 当 Nullable<bool> 为 Null 时,无法将其保存到 Azure 表

标签 c# azure boolean nullable azure-table-storage

例如,我有一个 bool? C# 中的状态

Status = true/false时,可以保存到Azure表,没问题

但是当Stats = null时,它无法保存(更新)到Azure表,该列仍然保留旧值

我想这可能是因为Azure表没有方案,但是解决方案是什么?

如何保存null覆盖原始值?

编辑代码

数据如下:

public class someEntity : TableServiceEntity
{
    public bool? Status { get; set; }
}

像这样更新:

tableContext.AttachTo("sometable", someEntity);
tableContext.UpdateObject(someEntity);
tableContext.SaveChangesWithRetries(SaveChangesOptions.Batch & SaveChangesOptions.ReplaceOnUpdate);

(我尝试将 AttachTo"*" 作为 etag,尝试删除 SaveChangesOptions,但都不起作用)

对不起,我的愚蠢,应该是这段代码,然后可以工作

tableContext.SaveChangesWithRetries(SaveChangesOptions.Batch | SaveChangesOptions.ReplaceOnUpdate);

最佳答案

正如@Matthew建议的,我把答案放在这里

非常简单,使用:

tableContext.SaveChangesWithRetries(SaveChangesOptions.Batch | SaveChangesOptions.ReplaceOnUpdate);

对于多个选项,请使用 | (或),而不是&(和)Reason

SaveChangesOptions.ReplaceOnUpdate = true 表示整个实体将被替换 SaveChangesOptions.ReplaceOnUpdate = false,表示合并,旧数据将保留

关于c# - 当 Nullable<bool> 为 Null 时,无法将其保存到 Azure 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876743/

相关文章:

node.js - 使用命名管道的 Node HTTP 请求

c# - .net core 2.2 和开放的 CORS

C# 使用命令行调用应用程序

c# - 如何在 PostBuildEvents 之前先运行 app.config 转换任务?

由于区域限制,Azure SQL 删除的数据库无法恢复

c++ - C++ 中的递归函数、 boolean 语句和输入

c# - 带有 Npgsql 的 Entity Framework 6

Azure 应用服务 API 部署需要重新启动

c# - boolean getter/setter 方法和属性的语法

boolean - boolean 的任何助记技巧?