Advertencia de lanzamiento de compilación ASP MVC para la aplicación ¿Propiedad de navegación de roles de usuario?
Tengo el siguiente modelo de ApplicationUser:
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual ICollection<ApplicationRole> Roles { get; set; }
public bool HasRole(string _role)
{
return Roles.Any(r => r.Name == _role);
}
public bool HasPermission(string _permission)
{
return Roles.Any(r => r.Permissions
.Any(p => p.Name == _permission));
}
}
Pero cuando ejecuto una compilación, aparece el siguiente mensaje de advertencia:
ApplicationUser.Roles hides inherited member
'IdentityUser<string, IdentityUserLogin,IdentityUserRole, IdentityUserClaim>.Roles.
To make the current member override that implementation, add the overide keyword. Otherwise
add the new keyword.
¿Hay algún problema con mi implementación o debería hacerse de manera diferente? He agregado la propiedad de navegación Roles para poder implementar los métodos HasRole y HasPermission.
Los modelos My Permission y ApplicationRole se implementan de la siguiente manera:
public class Permission
{
public byte Id { get; set; }
public string Name { get; set; }
public virtual List<ApplicationRole> Roles { get; set; }
}
public class ApplicationRole : IdentityRole
{
public ApplicationRole() : base() { }
public ApplicationRole(string name) : base(name) { }
public virtual ICollection<Permission> Permissions { get; set; }
public bool IsPermissionInRole(string _permission)
{
return Permissions.Any(p => p.Name == _permission);
}
}