/// <summary>
        /// 从用户角色表中移除用户
        /// </summary>
        /// <param name="request"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public override async Task <BoolReply> RemoveUserFromUserRole(AddUserToRoleReq request, ServerCallContext context)
        {
            var userRole = await applicationDbContext.UserRoles.FirstAsync(e => e.UserId == request.UserId &&
                                                                           e.RoleId == request.RoleId).ConfigureAwait(false);

            if (userRole == null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, "不存在记录"));
            }

            applicationDbContext.UserRoles.Remove(userRole);
            await applicationDbContext.SaveChangesAsync().ConfigureAwait(false);

            return(new BoolReply {
                Value = true
            });
        }
        /// <summary>
        /// 为用户分配角色
        /// </summary>
        /// <param name="request"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public override async Task <BoolReply> AddUserToRole(AddUserToRoleReq request, ServerCallContext context)
        {
            if (request is null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var user = await applicationDbContext.Users.FirstOrDefaultAsync(e => e.Id == request.UserId).ConfigureAwait(false);

            if (user == null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, "用户未找到"));
            }

            var role = await applicationDbContext.Roles.FirstOrDefaultAsync(e => e.Id == request.RoleId).ConfigureAwait(false);

            if (role == null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, "用户未找到"));
            }

            var userRole = applicationDbContext.UserRoles.FirstAsync(e => e.UserId == request.UserId && e.RoleId == request.RoleId);

            if (userRole != null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, "用户存在该角色"));
            }

            await applicationDbContext.UserRoles.AddAsync(new IdentityUserRole <string>
            {
                UserId = request.UserId,
                RoleId = request.RoleId
            }).ConfigureAwait(false);

            await applicationDbContext.SaveChangesAsync().ConfigureAwait(false);

            return(new BoolReply {
                Value = true
            });
        }