实体框架中自动生成的字符串主键

本文关键字:字符串 自动生成 框架 实体 | 更新日期: 2023-09-27 17:59:16

是否有任何方法可以为string类型、而不是intguid生成自动生成的主键?

public class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] //???
    public string Id { get; set; } // string type
    public string Name { get; set; }
    public string Login { get; set; }
}

如果出现以下问题"为什么?":问题是,在我目前的模型中,PK是登录,我想不知不觉地将登录和主键分开,保存已经在使用的PK。

实体框架中自动生成的字符串主键

SQL Server不支持字符串列类型的标识。您希望自定义密钥字符串的外观如何?你可以用Guid类型做你的密钥,然后提取到字符串:
guid.ToString();