序列
注意
序列是一项通常仅由关系数据库支持的功能。 如果使用非关系数据库(如 Azure Cosmos DB),请查看有关生成唯一值的数据库文档。
序列在数据库中生成唯一的顺序数值。 序列不与特定表关联,可以设置多个表以从同一序列提取值。
基本用法
可以在模型中设置序列,然后使用它为属性生成值:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers");
modelBuilder.Entity<Order>()
.Property(o => o.OrderNo)
.HasDefaultValueSql("NEXT VALUE FOR OrderNumbers");
}
请注意,从序列生成值的特定SQL是特定于数据库的;上面的示例适用于 SQL Server 但在其他数据库上将失败。 有关详细信息,请查阅数据库的文档。
配置序列设置
还可以配置序列的其他方面,例如其架构、起始值、增量等:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("OrderNumbers", schema: "shared")
.StartsAt(1000)
.IncrementsBy(5);
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈