.net核心-实体框架-[DefaultValue]不工作
我想在实体上使用[DefaultValue]注释来指定一个默认值,该值在创建而不是设置状态值时存储在DB中.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,
// 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);
}
请参见非常感谢您!