Asp.net mvc 4 我尝试使用Microsoft帐户登录,它';s发出此错误消息;处理请求时数据库操作失败。”;

Asp.net mvc 4 我尝试使用Microsoft帐户登录,它';s发出此错误消息;处理请求时数据库操作失败。”;,asp.net-mvc-4,asp.net-core,.net-core,Asp.net Mvc 4,Asp.net Core,.net Core,我试图在.net核心应用程序中使用Microsoft身份验证登录,但它给了我类似的错误 处理请求时数据库操作失败 当我试图执行下面的代码时,我遇到了这个错误 enter code here public async Task<IActionResult> OnPostConfirmationAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/")

我试图在.net核心应用程序中使用Microsoft身份验证登录,但它给了我类似的错误 处理请求时数据库操作失败 当我试图执行下面的代码时,我遇到了这个错误

enter code here

  public async Task<IActionResult> OnPostConfirmationAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            // GetAsync the information about the user from the external login provider

            var fname = Request.Form["Input.FirstName"].ToList().First();
            if (string.IsNullOrEmpty(fname))
            {
                ErrorMessage = "FirstName Name is Required.";
                return RedirectToPage("./Login", new { ReturnUrl = returnUrl });
            }
            var Lname = Request.Form["Input.LastName"].ToList().First();
            if (string.IsNullOrEmpty(Lname))
            {
                ErrorMessage = "LastName Name is Required.";
                return RedirectToPage("./Login", new { ReturnUrl = returnUrl });
            }
            var pNumber = Request.Form["Input.PhoneNumber"].ToList().First();
            var info = await _signInManager.GetExternalLoginInfoAsync();
            if (info == null)
            {
                ErrorMessage = "Error loading external login information during confirmation.";
                return RedirectToPage("./Login", new { ReturnUrl = returnUrl });
            }

            //if (ModelState.IsValid)
            //{
                //Todo: set all required fields
                var user = new User { UserName = Input.Email, Email = Input.Email,FirstName= fname, LastName=Lname,PhoneNumber=pNumber,IsActive=true };
                var searchKey = Input.Email.Split("@").Last();
                var organization = _userRepository.SearchOrganization(searchKey);
                if (organization != null)
                    user.OrganizationId = organization.Id;
                var result = await _userManager.CreateAsync(user);
                //Todo: Set Registered role
                //Todo: Detect and assign organization
                if (result.Succeeded)
                {
                    result = await _userManager.AddLoginAsync(user, info);
                    if (result.Succeeded)
                    {
                        _userManager.AddToRoleAsync(user, SmartRole.RegisteredUser).Wait();
                        _userManager.AddToRoleAsync(user, SmartRole.Anonymous).Wait();
                    user.IsAdmin =
                                   _signInManager.UserManager.IsInRoleAsync(user, "Administrator").Result;
                    await _signInManager.SignInAsync(user, isPersistent: false);
                        _logger.LogInformation("User created an account using {Name} provider.", info.LoginProvider);
                        return LocalRedirect(returnUrl);
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            //}

            LoginProvider = info.LoginProvider;
            ReturnUrl = returnUrl;
            return Page();
        }

该错误消息是否有更多详细信息?@scgough否这是我尝试登录时遇到的唯一错误此问题与Microsoft帐户登录有何关系?这似乎是与EF相关的问题。因为我正在尝试像Microsoft一样进行外部登录身份验证login@NanYu现在请再次检查我的代码,我会给你更多的信息
 public Model.Organization SearchOrganization(string searchKey)
        {
            return DbContext.Organizations.FirstOrDefault(x =>x.URL.Equals(searchKey,StringComparison.OrdinalIgnoreCase));
        }