gpt4 book ai didi

sql-server - ASP.NET 核心标识 - 默认情况下,为什么数据库主键定义为 "nvarchar"而不是 "UniqueIdentifier"?

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:32 24 4
gpt4 key购买 nike

默认情况下,ASP.NET Identity 使用 GUID 作为主键,但是当生成数据库主键时,它使用 nvarchar - 为什么它不使用 SQL 数据类型“UniqueIdentifier”?

enter image description here

最佳答案

之所以是因为Id属性类型是字符串。事实上,asp.net core identity 中的所有主键都是字符串,其构造函数如下所示......

public IdentityUser()
{
Id = Guid.NewGuid().ToString();
}

现在的确切原因是因为 EF 在多个数据库提供程序上运行,并且并非所有数据库提供程序都具有 GUID 类型。 GUID 类型更快,如 here 所示,但除非您使用的是庞大的数据集并且需要一流的性能,否则字符串类型就可以正常工作

关于sql-server - ASP.NET 核心标识 - 默认情况下,为什么数据库主键定义为 "nvarchar"而不是 "UniqueIdentifier"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44193061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com