如何生成非随机的主键?

时间:2019-02-09 20:48:18

标签: c# entity-framework-core data-annotations

我希望能够将主键的值设置为自动递增数字。目前,它会生成一个随机密钥,例如13917c50-6b8c-4405-82ce ...

我希望能够告诉系统“嘿,我希望请求号从1(或1000或其他)开始,并在每次保存记录时自动递增。”

public class Request
{
    [Key]
    public string request_no { get; set; }

我希望,保存的记录中会自动生成我选择的请求编号。

1 个答案:

答案 0 :(得分:0)

使用DatabaseGenerated属性:

public class Request
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int request_no { get; set; }
}

此外,如果您要为request_no创建种子,则应该使用自定义数据库初始化程序并执行DBCC CHECKIDENT查询:

DBCC CHECKIDENT ('Request', RESEED, 1000)