多行假身份

时间:2013-05-22 15:31:22

标签: sql-server identity csla

抱歉可能是一个愚蠢的问题 - 我不是SQL的专业人士。

所以我必须创建一个所谓的“创建组” - 用户将同时创建多个项目,系统必须记住,哪些项目是一起创建的。 所以它应该在db中看起来像这样:

Id|Name             | GroupId
1 |Teddy Bear       | 1
2 |Toy Car|         | 1
3 |Toy Soldier      | 2
4 |Bottle of whiskey| 3 

因此,当用户点击Teddy Bear或Toy Car时,他会在新窗口中看到它们,当时在Toy Solier上。他只会在编辑窗口等中看到玩具士兵。

最好的方法是创建新表“Groups”,其中id将作为标识值。但主要问题 - 在我的情况下,这个表将只包含.... id列,这就是全部。没有名字等,只是id。而且我不想仅为了存储身份而创建新表。 另一种方法是每次要插入新数据时获取最大值,并将具有此max + 1值的新记录添加到GroupId列中,但这有点慢。

我正在使用CSLA框架作为ORM(与EF和nhibernate相比,它的种类sux,但它的工作相当不错)

有人可以就这种情况提出最好的建议吗?

提前谢谢你, 丹尼斯

1 个答案:

答案 0 :(得分:3)

分组标识是否必须是整数?为什么不使用GUID?

如果你想要一个int,那么我认为你的“群组”表是要走的路。 IMO。