ASP MVC Build Throwing Warning For ApplicationUser Roles Navigation Property?
<p>I have the following ApplicationUser Model:</p>

<pre><code>public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public virtual ICollection&lt;ApplicationRole&gt; Roles { get; set; }

    public bool HasRole(string _role)
    {
        return Roles.Any(r =&gt; r.Name == _role);
    }

    public bool HasPermission(string _permission)
    {
        return Roles.Any(r =&gt; r.Permissions
              .Any(p =&gt; p.Name == _permission));
    }
}
</code></pre>

<p>But when I run a build I get the following warning message:</p>

<pre><code>ApplicationUser.Roles hides inherited member 
'IdentityUser&lt;string, IdentityUserLogin,IdentityUserRole, IdentityUserClaim&gt;.Roles. 
To make the current member override that implementation, add the overide keyword. Otherwise 
add the new keyword.
</code></pre>

<p>Is something wrong with my implementation or should it be done differently? I have added the Roles navigation property so that I can implement the HasRole and HasPermission methods.</p>

<p>My Permission and  ApplicationRole models are implemented as follows:</p>

<pre><code>public class Permission
{
    public byte Id { get; set; }
    public string Name { get; set; }

    public virtual List&lt;ApplicationRole&gt; Roles { get; set; }
}


public class ApplicationRole : IdentityRole
{
    public ApplicationRole() : base() { }
    public ApplicationRole(string name) : base(name) { }

    public virtual ICollection&lt;Permission&gt; Permissions { get; set; }

    public bool IsPermissionInRole(string _permission)
    {
        return Permissions.Any(p =&gt; p.Name == _permission);
    }
}
</code></pre>