将属性添加到IdentityUser默认属性

时间:2015-07-01 08:14:03

标签: asp.net asp.net-mvc asp.net-identity

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

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

由于

1 个答案:

答案 0 :(得分:1)

您可以向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; } 
}

注意:我同意上述评论,您不应在视图中使用您的Entitiy Models并使用ViewModels。