Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Sekwencje są zwykle obsługiwane tylko przez relacyjne bazy danych. Jeśli używasz nierelacyjnej bazy danych, takiej jak Azure Cosmos DB, zapoznaj się z dokumentacją bazy danych dotyczącą generowania unikatowych wartości.
Sekwencja generuje unikatowe, sekwencyjne wartości liczbowe w bazie danych. Sekwencje nie są skojarzone z określoną tabelą, a można skonfigurować wiele tabel w celu rysowania wartości z tej samej sekwencji.
Podstawowy sposób użycia
Możesz skonfigurować sekwencję w modelu, a następnie użyć jej do wygenerowania wartości właściwości:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers");
modelBuilder.Entity<Order>()
.Property(o => o.OrderNo)
.HasDefaultValueSql("NEXT VALUE FOR OrderNumbers");
}
Należy pamiętać, że określony język SQL używany do generowania wartości z sekwencji jest specyficzny dla bazy danych; powyższy przykład działa w programie SQL Server, ale w innych bazach danych zakończy się niepowodzeniem. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją określonej bazy danych.
Konfigurowanie ustawień sekwencji
Można również skonfigurować dodatkowe aspekty sekwencji, takie jak jego schemat, wartość początkowa, przyrost itp.:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers", schema: "shared")
.StartsAt(1000)
.IncrementsBy(5);
}