ASP.NET MVC 5 Windows Identity Foundation – Delete Role with Cascade Delete Users in Role
using System; using System.Linq; using Microsoft.AspNet.Identity; using Microsoft.AspNet.Identity.EntityFramework; using CRMPortal.Models; public void RemoveFromRole(string userId, string roleName) { UserManager<ApplicationUser> um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())); um.RemoveFromRole(userId, roleName); } public void DeleteRole(string roleId) { ApplicationDbContext _db = new ApplicationDbContext(); var roleUsers = _db.Users.Where(u => u.Roles.Any(r => r.RoleId == roleId)); var role = _db.Roles.Find(roleId); foreach (var user in roleUsers) { this.RemoveFromRole(user.Id, role.Name); } _db.Roles.Remove(role); _db.SaveChanges(); } |