为什么ASP.Net Identity 2存储在NVARCHAR中的UserId中?

时间:2014-07-04 04:36:55

标签: c# asp.net sql-server asp.net-identity

默认设置会将UserId存储在NVARCHAR(128)中。有人可以解释为什么它不会将其存储在NVARCHAR中吗?从我看到的GUID只不过是数字,字母和破折号。是否需要正确存储NVARCHAR

1 个答案:

答案 0 :(得分:1)

数据类型用法是实体框架实现的实现细节。其他连接器(例如MongoDB的连接器)使用其他数据类型。您可以为此编写自己的实现,但从Identity的第2版开始,您可以使用其他类型的ID(无需使用VARCHAR或字符串)。要完成这项工作,您必须实现一些派生自某些框架类的其他类。

对于一个实现示例,请查看James在this thread中的答案。使用此代码段,您只需将通用类型从 int 更改为 Guid ,即可将Guids作为ID的数据类型。