【问题标题】:.net core - entity framework - [DefaultValue] not working.net 核心 - 实体框架 - [DefaultValue] 不起作用
【发布时间】:2016-11-06 09:39:29
【问题描述】:

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

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

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

我做错了什么?

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

【问题讨论】:

    标签: .net entity-framework enums


    【解决方案1】:

    必须使用fluent 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

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    相关资源
    最近更新 更多