首页 > 解决方案 > userManager.AddToRoleAsync() - 抛出异常:System.Private.CoreLib.dll 中的“Npgsql.PostgresException”

问题描述

我尝试使用这些代码将用户添加到角色中。

public async Task<IActionResult> OnPostAsync(string roleId)
    {
        var role = await _roleManager.FindByIdAsync(roleId);
        var user_role = await _userManager.GetUsersInRoleAsync(role.Name);
        List<string> ListUser = new List<string>();
        foreach (var _user_ in user_role)
        {
            ListUser.Add(_user_.UserName);
        }
        for (int i = 0; i < UserList_new.Count; i++)
        {
            var user = await _userManager.FindByIdAsync(UserList_new[i].UserId);
            Debug.WriteLine(user.UserName);
            Debug.WriteLine(user.Email);
            Debug.WriteLine(user.Id);
            IdentityResult result = null;
            if (UserList_new[i].IsSelected && !ListUser.Contains(user.UserName))
            {
                Debug.WriteLine("Add " + user.UserName);
                **result = await _userManager.AddToRoleAsync(user, role.Name);**
            }
            else if (!(UserList_new[i].IsSelected) && ListUser.Contains(user.UserName))
            {
                Debug.WriteLine("Remove " + user.UserName);
                **result =await _userManager.RemoveFromRoleAsync(user, role.Name);**
            }

但是当它进入以下这些行时,它返回错误:抛出异常:System.Private.CoreLib.dll 中的'Npgsql.PostgresException'

result = await _userManager.AddToRoleAsync(user, role.Name);
result =await _userManager.RemoveFromRoleAsync(user, role.Name);

我正在使用 .Net core 3.1 和剃须刀页面。谢谢

标签: c#asp.netasp.net-corerazor-pagesasp.net-core-3.1

解决方案


推荐阅读