public Task DeleteAsync(TRole role) { BOIdentityRole boRole = new BOIdentityRole(); boRole.Repository = IdentityRoleRepository; boRole.Init(role.Id); boRole.Name = role.Name; boRole.Delete(); /*remove possible stale object*/ var cachedObject = _identityRolesCache.SingleOrDefault(x => x.Name == boRole.Name); if (cachedObject != null) { _identityRolesCache.Remove(cachedObject); } return(Task.FromResult(true)); }