Mysql 在mvc4中的主键中创建自定义序列号

Mysql 在mvc4中的主键中创建自定义序列号,mysql,sql,asp.net-mvc,asp.net-mvc-4,Mysql,Sql,Asp.net Mvc,Asp.net Mvc 4,我正在用mvc4构建一个网站,我想问,当我注册一个新用户时,用户配置文件表会自动更新,用户id在1,2,3,4,5,…序列中自动递增,但我希望这个主键能以其他方式自动递增,例如psk1、psk2、psk3………..。我能拥有这个吗??如果是,怎么可能 我尝试过使用自定义成员资格提供程序,但使用该方法并不成功,因此除此之外,还有其他更好的选择吗?我可以想出三种创建唯一主键的方法 通过身份自动递增 这是您已经熟悉的方法,导致自动生成1、2、3等类型的主键 使用UUID 这是一个全局唯一标识,

我正在用mvc4构建一个网站,我想问,当我注册一个新用户时,用户配置文件表会自动更新,用户id在
1,2,3,4,5,…
序列中自动递增,但我希望这个主键能以其他方式自动递增,例如
psk1、psk2、psk3………..
。我能拥有这个吗??如果是,怎么可能


我尝试过使用自定义成员资格提供程序,但使用该方法并不成功,因此除此之外,还有其他更好的选择吗?

我可以想出三种创建唯一主键的方法

  • 通过身份自动递增
这是您已经熟悉的方法,导致自动生成1、2、3等类型的主键

  • 使用UUID
这是一个全局唯一标识,您可以在.NET中创建它,并将其作为值传递到数据库记录中

  • 主键的自定义创建
如果有特殊需要,可以将数据表列设置为
varchar
类型的主键,并在.NET域中或在SQL server中使用。在这里,您可以找到最后插入的ID,对其进行解析,增加整数部分,并形成新的唯一主键


希望我能帮忙

如果您的自定义序列号仍然是连续的(前缀+数字),为什么不使用常规的自动递增id呢,然后在需要时根据该序列号计算序列号?@BrianRogers使用了前缀并提交了值,但现在的问题是,我无法插入新值,因为它没有向最后一个元素添加+1。我如何做到这一点。我如何在linq中获取主键值?我现在使用了这个[key][DatabaseGenerated(DatabaseGeneratedOption.None)],但现在的问题是它并没有在每个id后面添加+1