Sekvence
Poznámka
Sekvence jsou funkce, která je obvykle podporována pouze relačními databázemi. Pokud používáte nerelační databázi, jako je Azure Cosmos DB, projděte si dokumentaci k databázi o generování jedinečných hodnot.
Sekvence generuje jedinečné sekvenční číselné hodnoty v databázi. Sekvence nejsou přidružené ke konkrétní tabulce a více tabulek lze nastavit tak, aby nakreslily hodnoty ze stejné sekvence.
Základní použití
V modelu můžete nastavit posloupnost a pak ji použít k vygenerování hodnot pro vlastnosti:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers");
modelBuilder.Entity<Order>()
.Property(o => o.OrderNo)
.HasDefaultValueSql("NEXT VALUE FOR OrderNumbers");
}
Všimněte si, že konkrétní SQL použitý k vygenerování hodnoty z posloupnosti je specifický pro databázi; Výše uvedený příklad funguje na SQL Serveru, ale v jiných databázích selže. Další informace najdete v dokumentaci ke konkrétní databázi.
Konfigurace nastavení sekvence
Můžete také nakonfigurovat další aspekty sekvence, jako je jeho schéma, počáteční hodnota, přírůstek atd.:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers", schema: "shared")
.StartsAt(1000)
.IncrementsBy(5);
}
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro