Guid复制错误

本文关键字:错误 复制 Guid | 更新日期: 2023-09-27 18:16:08

如何在创建唯一id时捕获错误?

我使用guid而不是自动增量,但我不知道如何在重复上捕获错误,我创建了一些代码,在SQL中使用advance linq获取数据,以知道我的id创建是否存在,但最终我仍然有一个错误。

谁来帮帮我,给我一些最好使用的提示/链接。下面是我的示例代码。

 var nid = Guid.NewGuid();
 var getCartIds = _cartUoW.ShoppingCarts.Get().ToList();
 bool exist = false;
 do
 {
      nid = Guid.NewGuid();
      exist = getShoppingCartId.Any(x => x.Id == nid);
 } while(exist);

Guid复制错误

你可以忽略这个错误。例如:除非你的代码完全崩溃,否则即使你每天创建一百万辆车,在你的一生中获得双倍的机会也是微乎其微的。它是如此之低,以至于用户每周都会得到一个"内部错误发生"的错误,直到他刷新。

虽然不能保证每个生成的GUID都是唯一的,但是唯一密钥的总数(2^128或3.4×10^38)是如此之大,以至于两次生成相同数量的概率非常小。例如,考虑可观测的宇宙,它包含大约5×10^22颗恒星;每颗恒星都有6.8×10^15个普遍唯一的guid。(来自维基百科http://en.wikipedia.org/wiki/Globally_Unique_Identifier)

如果你经常得到重复的GUID,那么你没有正确生成它们/重用生成的GUID。这不是GUID的根本问题,我宁愿修复这部分。