【发布时间】:2011-07-28 06:53:09
【问题描述】:
我一直在使用带有 C# 的 MongoDB,并且一直在使用 ObjectId,然后是后来的 GUID 用于我的实体 Id。我讨厌看这些 ID,我认为它是反直觉的……我真的很希望能够使用整数或长整数,比如关系 DB 身份列。但我很难找到一种方法来做到这一点。如果我使用集合 max + 1,那将导致竞争条件。我读过有关使用 Hi-Lo 生成器算法的信息,但它是如何工作的?如果我有 10 个应用服务器运行相同的代码怎么办?这是否意味着每个集合我必须有 10 个 hi lo 身份范围?
如果有人能指点我分享一个 C# 算法,那就太好了!顺便说一句,我见过 RNGCryptoServiceProvider,但这不能保证是唯一的,而且它不是顺序的 int/long 标识。那时我宁愿使用 Hi-Lo...
谢谢, 蒂姆
【问题讨论】:
标签: c# mongodb unique identity mongodb-.net-driver