You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Fluent API让自增主键从5位及以上数字开始生成?

Fluent API 配置自增主键从50000起步的实现方法

默认调用ValueGeneratedOnAdd()配置的自增主键起始值由数据库默认规则决定(通常为1),你可以根据自己使用的数据库选择以下方案修改起始值:

  • 方案1:SQL Server 专属Fluent配置
    如果你的项目使用SQL Server作为数据库,可直接在Fluent API配置中调用UseIdentityColumn方法直接指定起始值和步长,示例代码如下:
modelBuilder.Entity<你的实体类名称>()
    .Property(p => p.主键字段名称)
    .ValueGeneratedOnAdd()
    .UseIdentityColumn(seed: 50000, increment: 1);
  • 方案2:全数据库通用迁移自定义方案
    如果使用MySQL、PostgreSQL等其他数据库,可在生成数据库迁移文件后,在迁移类的Up方法中手动插入对应SQL语句修改自增起始值:
    • MySQL 写法:
    migrationBuilder.Sql("ALTER TABLE 你的表名 AUTO_INCREMENT = 50000;");
    
    • PostgreSQL 写法:
    migrationBuilder.Sql("ALTER SEQUENCE 你的表名_主键字段名_seq RESTART WITH 50000;");
    
    • SQL Server 写法:
    // 注意SQL Server的RESEED参数为下一个分配ID的前一个值,所以要从50000开始需填49999
    migrationBuilder.Sql("DBCC CHECKIDENT ('你的表名', RESEED, 49999);");
    

提示:以上配置仅需执行一次即可,后续新增迁移未修改主键规则时无需重复添加。

内容的提问来源于stack exchange,提问作者Regestea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:24:02