为什么AspNetUsers Id存储为NVARCHAR?

时间:2014-07-30 10:11:32

标签: asp.net-mvc asp.net-mvc-5 asp.net-identity

MVC5标识将userId存储在一个字符串中,但是为什么?

如果你不想回答这个问题,你可以发布随机链接如何将用户id'z存储为int ...

2 个答案:

答案 0 :(得分:1)

嗯,对于一个非常错误的人来说,你似乎很粗鲁。

ASP.NET Identity不为Id使用字符串,它只是在visual studio为“初学者项目”生成的模板中默认使用Id的字符串。您可以通过定义新的IdentityUser类型来使用您想要的任何ID。就像您不会使用提供的视图,控制器或其他任何模板一样。

请参阅https://stackoverflow.com/a/23573049/61164

它使用字符串的原因是因为初始项目模板中的默认标识类型是Guid,并非所有数据库类型都支持(记住,它支持的不仅仅是SQL Server)。因此,出于兼容性原因,它使用字符串来存储它们。

答案 1 :(得分:0)

嗯,我猜它为Id使用了不同的方案

如果您要检查数据库,示例ID看起来像这样

" 62e41fbc-dbd6-41d2-8209-0fdf29fb1908"

假设这是哈希值或加密值。

如果你想将它们存储为整数或制作Id Count,你可以在表格中添加另一个条目(ASPUserId),然后将它设为int,然后在每次输入时递增