数据库表中的唯一编号字段,但不是主键

时间:2015-12-17 08:46:14

标签: sql-server database entity-framework

我有一个测试系统。它会生成带数字的空白.Numbers 必须是唯一的。空白数据存储在MSSQL表中。这就是我决定空白数量为主键的原因。 E.g

我在表格中有空白

Id User
-----------
1  Alpha
2  Bravo
3  Charlie

我为3个用户打印3个空白:Aplpha空白,数字1,Bravo空白,数字2

但是有一个商业规则。空白数字可以更改。我决定将这个更改改为表:我添加了具有唯一索引

的列BlankNumber
Id User     BlankNumber
-----------
1  Alpha    1
2  Bravo    2
3  Charlie  3

现在,我可以通过查找 BlankNumber 列值

轻松更改此数字

我的问题是如何快速为列 BlankNumber 生成值? 如果我不使用交易,将会发生冲突。但我不想要交易,因为它减慢了插入数据的速度。

1)自定义列值生成器是否不是主键?它们是否受ORM(EF)支持?

2)如果我决定使用我应该选择隔离级别的事务?

0 个答案:

没有答案