Before the update of the dll's in the Entity Framework i was able to do this
user.Roles.Where(r => r.Role.Name == "Admin").FisrtOrDefault();
Now, i can only do r.RoleId, and i can't find a way to retreive the name of thar Role Id. I'm using this in my controllers and in my AuthorizeAttribute class.
Can someone help me here?
Regards
I've just had almost exactly the same issue and I solved it like this:
public class UserRole : IdentityUserRole
{
public virtual Role Role { get; set; } // add this to see roles
public virtual User User { get; set; } // add this to see users
}
Now your original code user.Roles.Where(r => r.Role.Name == "Admin").FirstOrDefault();
will work, which could be handy if you don't have easy access to the RoleManager
for any reason.
Try this
string id = UserManager.FindByEmail(model.Email).Id;
IList<string> roleNames=UserManager.GetRoles(id);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With