在.NET Framework 4.5
中,System.Guid代表全局唯一标识符。我应该在我的架构中使用 alyaws Guid
类作为唯一标识符吗?我应该用哪种情况呢?哪种情况我不应该?
任何人都可以针对这种情况进行详细的解释吗?
答案 0 :(得分:1)
我认为这个名字很有说服力。如果您需要一些全球唯一的东西,以便消除所有歧义,请使用Guid。如果您需要一个项目仅在其对等项中是唯一的,请使用类似串行主键的简单项。
串行主键的唯一主要优点是(1)支持几乎所有现有存储介质,(2)口头通信的简单性,以及(3)存储大小。
话虽如此,如果ID永远/很少需要手动传送/加密,并且存储不是最重要的问题(例如在文档库中,分类与主要对象相比可以忽略不计),那么不是真正的理由不使用Guid。
答案 1 :(得分:1)
这很模糊。通常需要“唯一标识符”来标记数据。没有你的帮助,数据库引擎已经非常擅长这样做,总是一定要先利用他们的能力。
生成一个唯一的数字非常简单:比前一个更多。魔鬼在细节,前一个是什么?有很多情况下你不关心在进程会话结束后继续编号,所以一个简单的变量就可以了。 System.Guid的价值在于它可以帮助您避免在照顾时解决存储问题。以产生无法形容的为代价。