创建唯一标识符,该标识符是父标识符的可识别子级

时间:2011-05-14 11:57:37

标签: c# guid entity-relationship uniqueidentifier

在创建由guid标识的一组元素时,我选择使用与其父元素和兄弟元素ID共享其id的前12个字符(6个字节)的子元素。

例如:

Parent Id: df2f5d11-0b66-4407-8cf4-8877b954a273
Child Id: df2f5d11-0b66-349b-8527-1a6a79d2efce

我知道很多模型对相关实体使用类似的机制,所以我想知道是否有可识别的唯一标识符的规定最佳实践或约定。

我的实现如下:

var childId = new Guid(parentId.ToByteArray().Take(6).Concat(Guid.NewGuid().ToByteArray().Take(10)).ToArray());

- 如果很多系统使用类似的机制,这对我来说有点笨拙。

有更好/更清洁/更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

我认为GUID中任何字节操作都会导致Unique和Global部分被破坏。

如果您希望这是人类可读的,那么创建一个显示父母和孩子之间关系的应用程序。

我是否可以链接到消息来源说这是实际使用的?