Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Les séquences sont généralement prises en charge uniquement par les bases de données relationnelles. Si vous utilisez une base de données non relationnelle telle qu’Azure Cosmos DB, consultez la documentation de votre base de données sur la génération de valeurs uniques.
Une séquence génère des valeurs numériques uniques et séquentielles dans la base de données. Les séquences ne sont pas associées à une table spécifique, et plusieurs tables peuvent être configurées pour dessiner des valeurs à partir de la même séquence.
Utilisation de base
Vous pouvez configurer une séquence dans le modèle, puis l’utiliser pour générer des valeurs pour les propriétés :
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers");
modelBuilder.Entity<Order>()
.Property(o => o.OrderNo)
.HasDefaultValueSql("NEXT VALUE FOR OrderNumbers");
}
Notez que le SQL spécifique utilisé pour générer une valeur à partir d’une séquence est spécifique à la base de données ; l’exemple ci-dessus fonctionne sur SQL Server, mais échoue sur d’autres bases de données. Pour plus d’informations, consultez la documentation de votre base de données spécifique.
Configuration des paramètres de séquence
Vous pouvez également configurer des aspects supplémentaires de la séquence, tels que son schéma, sa valeur de début, son incrément, etc. :
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers", schema: "shared")
.StartsAt(1000)
.IncrementsBy(5);
}