我在MVC 5解决方案中使用ASP.NET Identity 2.2.1,并使用一些自定义属性扩展了默认的IdentityUser实体。
现在我想知道是否有办法在现有的默认属性中添加一些属性。具体来说,我想在PhoneNumber和UserName属性中添加[Display]属性。 我知道我应该将我的模型实体映射到一个viewmodel并且在其上有display属性,但有时候我很懒:)
由于
答案 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。