ASP.NET Identity 2.0 dbo.AspNetUsers定义为字符串:
Id = c.String(nullable: false, maxLength: 128)
何时可以定义为整数:
Id = c.Int(nullable: false, identity: true)
为什么会这样?这是什么+/-?
将它更改为整数是否有意义,或者存在搞砸一切的风险?
答案 0 :(得分:2)
除了已经链接的答案之外 - 还构建了Identity,因此它可以容纳任何类型的存储。我已经看到Azure表和纯文本文件存储实现。并非所有这些都可以使用int / Guid作为主键,甚至可以使用主键。
所以任何系统的最小公分母 - 一个字符串。但它可以更改为int或Guid或任何存储支持。
答案 1 :(得分:-1)
不要改变它。如果您注意到,UserManager
类仅适用于主键类型为字符串的位置。