将属性添加到 IdentityUser 默认 属性

Adding an attribute to an IdentityUser default property

我在 MVC 5 解决方案中使用 ASP.NET Identity 2.2.1,并且我使用一些自定义属性扩展了默认的 IdentityUser 实体。

现在我想知道是否有办法向现有的默认属性添加一些属性。具体来说,我想向 PhoneNumber 和 UserName 属性添加一个 [Display] 属性。 我知道我应该将我的模型实体映射到一个视图模型并在其上设置显示属性,但有时我很懒:)

谢谢

您可以将元数据 class 添加到 IdentityUser 实体

[MetadataType(typeof(UserMetaData))]
public class User : IdentityUser<int, UserLogin,UserRole, UserClaim>, IEntity
{        
     public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<User, int> manager)
     {
            var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
            return userIdentity;
     }
}

public class UserMetaData
{
     [Display(Name = "PhoneNumber")]
     public virtual string PhoneNumber { get; set; } 
}

注意:我同意上面的评论,即您不应在视图中使用实体模型并使用 ViewModel。