我正在使用ASP.NET Identity,并扩展了IdentityUser类以添加我自己的数据。
我使用数据注释来设置某些字段的显示名称等,但由于UserName字段是烘焙的,我无法对其进行注释。由于我打算在该字段中存储电子邮件地址,这是我真正想要重命名的电子邮件地址!
如果数据注释是非启动的(我认为它们是),还有其他方法可以实现相同的结果吗?
答案 0 :(得分:5)
您是否只能覆盖UserName属性并添加注释?
答案 1 :(得分:2)
我处理它的方式是不公开UserName
。我有一个单独的Email
属性,然后我在后台保存时将UserName
设置为相同的东西。
此外,如果您打算将电子邮件地址用作用户名,则需要具备以下条件:
UserManager.UserValidator = new UserValidator<User>(UserManager) { AllowOnlyAlphanumericUserNames = false };
否则,它不允许您将用户名设置为有效的电子邮件地址。