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
Gestire undefined e partial nelle reactive forms di Angular
Utilizzare politiche di resiliency con Azure Container App
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Creazione di componenti personalizzati in React.js con Tailwind CSS
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Usare una container image come runner di GitHub Actions
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Generare token per autenicarsi sulle API di GitHub
Generare la software bill of material (SBOM) in GitHub
C# 12: Cosa c'è di nuovo e interessante
Testare l'invio dei messaggi con Event Hubs Data Explorer