Impostare un valore di default per le colonne in Entity Framework Core

di Stefano Mostarda, in LINQ, Entity Framework,

Quando non impostiamo il valore di una proprietà, possiamo specificare lato mapping che valore inserire nella colonna corrispondente alla proprietà. Quest'operazione viene specificata in fase di mapping della proprietà attraverso il metodo HasDefaultValue.

class MyDbContext : DbContext
{
  public DbSet<Book> Books { get; set; }

  protected override void OnModelCreating(ModelBuilder modelBuilder)
  {
    modelBuilder.Entity<Book>()
      .Property(b => b.Rating)
      .HasDefaultValue(6);
  }
}

In alternativa allo specificare un valore lato codice .NET, possiamo utilizzare un'espressione SQL tramite il metodo HasDefaultValueSql

class MyDbContext : DbContext
{
  public DbSet<Book> Books { get; set; }

  protected override void OnModelCreating(ModelBuilder modelBuilder)
  {
    modelBuilder.Entity<Book>()
      .Property(b => b.Created)
      .HasDefaultValueSql("getdate()");
  }
}

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi