public void SetRoles(Guid userId, List<Guid> roleIds) { var user = UserRepository.Find(userId); if (user == null) throw new Exception("设置用户不存在"); //先把用户的角色信息全删除 user.Roles.Clear(); //再添加新设置的角色信息 roleIds.ForEach(r => user.Roles.Add(RoleRepository.Find(r))); }