首页 > 解决方案 > EF Core:实体更新因布尔而失败?数据库中具有默认约束的属性

问题描述

我在现有数据库中使用 EF Core 代码优先方法。在数据库中,我有一个这样的列:

isActive bit default(1)

在我的模型中,我有这个:

[JsonIgnore]
public bool? isActive { get; set; }

使用 Fluent API,它的配置如下:

 builder.Property(e => e.isActive).HasDefaultValue(true);

我不将此列的值发送到数据库,我需要它始终保存为 1。

插入新记录时它工作正常。但它不适用于更新 - 我得到一个例外:

无法将值 NULL 插入列“isActive”、表“MyDB.dbo.Employee”;列不允许空值。更新失败。该语句已终止。

如何使用数据库中的默认约束进行更新?

标签: ef-fluent-apief-core-3.0

解决方案


推荐阅读