C# 是否创建要存储在数据库中的非冲突数字?

C# 是否创建要存储在数据库中的非冲突数字?,c#,sql-server,entity-framework,C#,Sql Server,Entity Framework,我需要创建一些唯一的增量编号来存储在数据库中 比如说 s-001 s-002 s-003 s-004 每次将新记录插入数据库时,它应增加1,并且不允许重复 我已经在桌子上有一个PK,所以这更像是主键的简写,而且因为这不仅仅是直接的数字,它无论如何都不会起作用 我在C#中使用实体框架来完成这项工作 我正在寻找简单的方法来实现这一点,没有什么太复杂的事情,因为我没有时间来制定一个超级健壮的解决方案,而且重复的机会非常低(目前只有一种方法能够做到这一点,并且同步运行),但如果它真的发生了,并且重复发

我需要创建一些唯一的增量编号来存储在数据库中

比如说

s-001
s-002
s-003
s-004
每次将新记录插入数据库时,它应增加1,并且不允许重复

我已经在桌子上有一个PK,所以这更像是主键的简写,而且因为这不仅仅是直接的数字,它无论如何都不会起作用

我在C#中使用实体框架来完成这项工作

我正在寻找简单的方法来实现这一点,没有什么太复杂的事情,因为我没有时间来制定一个超级健壮的解决方案,而且重复的机会非常低(目前只有一种方法能够做到这一点,并且同步运行),但如果它真的发生了,并且重复发生了,那将是毁灭性的

我听说有人制作了一个表来存储最后一个值,然后你查看该表来获取最后一个值,然后在插入之前做一些检查,如果有重复项,你会让它失败吗


我的主键是一个GUID,所以我不能向它追加我想要的内容。

使用计算列:一个标识列+S'

你能不能将
S-
与PK或一个新的
IDENTITY
列连接起来?PK已经生成,必须是一个GUID。不确定你所说的另一个标识栏是什么意思?对不起,我以为PK是一个
标识
(自动递增)。创建一个
IDENTITY
列,然后在
's-'+myIDcolumn
上创建一个计算列。我不确定我的老板是否会喜欢它,因为如果有另一个未被真正使用的列,这将被视为浪费。计算列不会占用任何空间,除非它是
持久化的
或在索引中,我确实喜欢这个主意。我认为我的老板不会,因为这意味着数据库中没有一个无用的列。