在创建由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());
- 如果很多系统使用类似的机制,这对我来说有点笨拙。
有更好/更清洁/更简单的方法吗?
答案 0 :(得分:1)
我认为GUID中任何字节操作都会导致Unique和Global部分被破坏。
如果您希望这是人类可读的,那么创建一个显示父母和孩子之间关系的应用程序。
我是否可以链接到消息来源说这是实际使用的?