序列

序列在数据库中生成唯一的顺序数值。 序列不与特定表关联,可以为多个表设置同一序列中值。

基本用法

您可以在模型中设置一个序列,然后使用它来生成属性值:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Order>()
        .Property(o => o.OrderNo)
        .HasDefaultValueSql("NEXTVAL('MySchema.OrderNumbers')");
}
CREATE SEQUENCE MySchema.OrderNumbers INCREMENT BY 10 MINVALUE 0 MAXVALUE 9223372036854775807 START WITH 1 NO CYCLE;

序列是基于 bigint 运算的,因此其范围不能超过八字节的整数范围(-9223372036854775808 到 9223372036854775807).

注意:序列创建后,可以使用函数 nextval、currval 和 setval 对序列进行操作。注意:在使用函数currval查看当前序列值之前,必须先使用nextval或setval对序列进行初始化,否则系统将会报错。

配置序列迁移生成设置

您还可以配置序列的各个属性,例如其架构、起始值、增量等:

提供程序暂不支持迁移,所以设置序列属性不能生效.
请关注版本更新通知.