Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Observação
As sequências são um recurso normalmente com suporte para apenas bancos de dados relacionais. Se estiver usando um banco de dados não relacional, como o Azure Cosmos DB, verifique a documentação do banco de dados sobre a geração de valores exclusivos.
Uma sequência gera valores numéricos exclusivos e sequenciais no banco de dados. As sequências não estão associadas a uma tabela específica, e várias tabelas podem ser configuradas para extrair valores da mesma sequência.
Uso básico
Você pode configurar uma sequência no modelo e usá-la para gerar valores para as propriedades:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers");
modelBuilder.Entity<Order>()
.Property(o => o.OrderNo)
.HasDefaultValueSql("NEXT VALUE FOR OrderNumbers");
}
Observe que o SQL específico usado para gerar um valor a partir de uma sequência é específico do banco de dados. O exemplo acima funciona no SQL Server, mas falhará em outros bancos de dados. Consulte a documentação específica do seu banco de dados para obter mais informações.
Definição das configurações de sequência
Você também pode configurar aspectos adicionais da sequência, como o esquema, o valor inicial, o incremento, etc:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers", schema: "shared")
.StartsAt(1000)
.IncrementsBy(5);
}