2016-11-06 2 views
1

Я хотел использовать аннотацию [DefaultValue] для моего объекта, чтобы указать значение по умолчанию, которое хранится в БД при создании и отсутствии значения для статуса..net core - структура сущности - [DefaultValue] не работает

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

Но, к сожалению, значение, хранящееся в БД при создании и сохранении сущности является 0, а не 2.

Что я делаю неправильно?

Спасибо и наилучшими пожеланиями, Николай

ответ

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

+0

Большое спасибо за это! – Nik