Asp.Net Identity 2中的UserManager通过对数据库的附加请求来防止使用重复的用户名创建用户,以查找可能的重复项。我认为这容易出错,并且可能导致并发错误。正确的机制应依赖于唯一的约束或索引。我错了,我想念什么吗?
不,你没看错。身份将在“用户名”列上添加唯一索引:
此表的迁移代码为:
CreateTable(
"dbo.AspNetUsers",
c => new
{
Id = c.String(nullable: false, maxLength: 128),
/* .... SNIP .... */
UserName = c.String(nullable: false, maxLength: 256),
})
.PrimaryKey(t => t.Id)
.Index(t => t.UserName, unique: true, name: "UserNameIndex");
该列上明确设置了唯一索引。
ps,您正在使用Identity v3-它尚未发布。Current Identity v2.1尚未开源。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句