Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net核心-实体框架-[DefaultValue]不工作_.net_Entity Framework_Enums - Fatal编程技术网

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

.net核心-实体框架-[DefaultValue]不工作,.net,entity-framework,enums,.net,Entity Framework,Enums,我想在实体上使用[DefaultValue]注释来指定一个默认值,该值在创建而不是设置状态值时存储在DB中 // ApprovalStatus is Enum // Pending = 2 [DefaultValue(ApprovalStatus.Pending)] public ApprovalStatus Status { get; set; } 但不幸的是,在创建和保存实体时,数据库中存储的值是0,而不是2 我做错了什么 谢谢和亲切的问候, Nikolai您必须使用fluent API,

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

// ApprovalStatus is Enum
// Pending = 2
[DefaultValue(ApprovalStatus.Pending)]
public ApprovalStatus Status { get; set; }
但不幸的是,在创建和保存实体时,数据库中存储的值是0,而不是2

我做错了什么

谢谢和亲切的问候,
Nikolai

您必须使用fluent API,在这种情况下不支持数据注释:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .Property(b => b.Status)
            .HasDefaultValue(ApprovalStatus.Pending);
    }
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Entity()
.Property(b=>b.Status)
.HasDefaultValue(ApprovalStatus.Pending);
}

请参见

非常感谢您!