最佳答案
之所以是因为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/