Una sequence è un generatore di numeri consecutivi univoci generato direttamente dal server. SQL Server supporta le sequence a partire dalla versione 2012 ed Entity Framework Core supporta le sequence sin dalla prima versione.
Per mappare una sequence nel modello il metodo da usare è HasSequence che accetta in input il nome della sequence. Se invece vogliamo associare direttamente la sequence a una proprietà di una entity, dobbiamo prima recuperare la proprietà col metodo Property e poi usare il metodo HasDefaultValueSql passandogli il comando SQL per recuperare il prossimo valore dalla sequence. In questo modo Entity Framework userà la sequence per popolare il valore del campo.
class MyContext : DbContext { public DbSet<Person> People { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.HasSequence<int>("MySequence"); modelBuilder.Entity<Person>() .Property(o => o.SequentialNumber) .HasDefaultValueSql("NEXT VALUE FOR MySequence"); } } public class Person { public int Id { get; set; } public int SequentialNumber{ get; set; } }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ordinare randomicamente una lista in C#
Gestione dell'annidamento delle regole dei layer in CSS
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Utilizzare Container Queries nominali
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Gestione dei nomi con le regole @layer in CSS
Aggiornare a .NET 9 su Azure App Service
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare WhenEach per processare i risultati di una lista di task
Cambiare la chiave di partizionamento di Azure Cosmos DB