.net 核心 - entity framework - [DefaultValue] 不工作

.net core - entity framework - [DefaultValue] not working

我想在我的实体上使用 [DefaultValue] 注释来指定一个默认值,该默认值在创建而不是设置状态值时存储在数据库中。

// ApprovalStatus is Enum
// Pending = 2
[DefaultValue(ApprovalStatus.Pending)]
public ApprovalStatus Status { get; set; }

但不幸的是,创建和保存实体时存储在数据库中的值是 0 而不是 2。

我做错了什么?

谢谢和亲切的问候, 尼古拉

必须使用流畅的API,此场景不支持数据标注:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .Property(b => b.Status)
            .HasDefaultValue(ApprovalStatus.Pending);
    }

参见 https://docs.efproject.net/en/latest/modeling/relational/default-values.html