microsoft.aspnet.identity.entityFrameWork - 对象用户identity和ronidenity具有类型字符串的ID字段,因此创建的表具有数据类型NVARCHAR(128)。

不应该这些对象ID属性是类型system.guid和数据库有uniqueidentier的数据类型?他们为什么不是?在新用户和角色创建时插入GUID。

有帮助吗?

解决方案

hao bung 从ASP.NET团队写了这篇文章中问题如何更改ID输入到int。

所以我们决定避免使用键序列化问题的字符串键,EF默认实现可以使用INTS作为主键,GUID只是生成随机唯一字符串键的简单方法。

其他提示

很可能是因为API是存储提供商独立的,因此将字段类型保存为通用: http://blogs.msdn.com/b/webdev/archive/2013/06/27/ intrododing-asp-net-netiety-membership -system-for-asp-net-applications.aspx

“如果您的应用程序要求是该信息可能存储在不同的存储机制中,例如SharePoint,Azure表服务,没有SQL数据库等。现在可以插入不同的存储提供商。”

字符串用户ID的另一个原因可以是串被硬编码到权利要求API中,具体地,使用生成的Microsoft.AspNet.Identity.IdentityExtensions.GetUserId,它们使用生成的返回字符串。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top