如何生成非随机的主键?

How do I generate a primary key that is not random?

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

我希望能够告诉系统"Hey, I want request number to start at 1 (or 1000 or whatever) and auto increment every time a record is saved."

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

我希望在保存记录时自动生成我选择的请求编号。

使用DatabaseGenerated属性:

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

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

DBCC CHECKIDENT ('Request', RESEED, 1000)