.net核心 - 实体框架 - [DefaultValue]不起作用

时间:2016-11-06 09:39:29

标签: .net entity-framework enums

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

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

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

我做错了什么?

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

1 个答案:

答案 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