Valeurs par défautDefault Values

Note

La configuration de cette section s’applique aux bases de données relationnelles en général.The configuration in this section is applicable to relational databases in general. Les méthodes d’extension indiqués ici devient disponibles lorsque vous installez un fournisseur de base de données relationnelle (en raison de l’élément partagé Microsoft.EntityFrameworkCore.Relational package).The extension methods shown here will become available when you install a relational database provider (due to the shared Microsoft.EntityFrameworkCore.Relational package).

La valeur par défaut d’une colonne est la valeur qui sera insérée si une nouvelle ligne est insérée, mais aucune valeur n’est spécifiée pour la colonne.The default value of a column is the value that will be inserted if a new row is inserted but no value is specified for the column.

ConventionsConventions

Par convention, la valeur par défaut n’est pas configurée.By convention, a default value is not configured.

Annotations de donnéesData Annotations

Vous ne pouvez pas définir une valeur par défaut à l’aide des Annotations de données.You can not set a default value using Data Annotations.

API FluentFluent API

Vous pouvez utiliser l’API Fluent pour spécifier la valeur par défaut pour une propriété.You can use the Fluent API to specify the default value for a property.

class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

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

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
    public int Rating { get; set; }
}

Vous pouvez également spécifier un fragment SQL qui est utilisé pour calculer la valeur par défaut.You can also specify a SQL fragment that is used to calculate the default value.

class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

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

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
    public DateTime Created { get; set; }
}