在创建一组由 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());
-- 如果许多系统都使用类似的机制,这让我觉得有点笨拙。
有没有更好/更干净/更简单的方法?
最佳答案
我认为对 GUID 中字节的任何操作都会导致 Unique 和 Global 部分的中断。
如果你希望它是人类可读的,那么制作一个应用程序,显示 parent 和 child 之间的关系。
我能否提供指向消息来源的链接,说明这是实际使用的?
关于c# - 创建唯一标识符,它是父标识符的可识别子标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6001662/