为什么新的 ASP.NET 身份表停止使用 Guid(uniqueidentifier 类型)作为键?

Why did the new ASP.NET Identity tables stop using Guid (uniqueidentifier type) as keys?

我试图理解为什么新的 ASP.NET 身份表停止使用 Guid(uniqueidentifier 类型)作为键 - 相反它现在使用 nvarchar(128) 但仍然保留 Guid 作为 string...

这不是极大的浪费吗? (uniqueidentifier 只是 2 integers 而整个 Guid 作为 36 个字符 string

我怀疑 Entity Framework 可能对此负责...

改回 uniqueidentifier 键安全吗?

谁能告诉我使用 36 个字符串有什么好处?

Identity 是为在多个存储平台上工作而构建的,并非每个存储平台都将 Guid 作为受支持的存储类型。

您可以将默认字符串 pkey 更改为 Guid,但这需要对您的 C# 模型进行一些操作。或者您可以将 pkey 更改为 int - 随心所欲。请注意,有一个巨大的 debate about which is better.