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
Creare un'applicazione React e configurare Tailwind CSS
Reactive form tipizzati con FormBuilder in Angular
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Evitare il flickering dei componenti nel prerender di Blazor 8
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Utilizzare database e servizi con gli add-on di Container App
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Installare le Web App site extension tramite una pipeline di Azure DevOps
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
C# 12: Cosa c'è di nuovo e interessante
Eseguire operazioni sui blob con Azure Storage Actions
Ottenere il contenuto di una cartella FTP con la libreria FluentFTP