PasswordSignInAsync 导致"The instance of entity type 'User' cannot be tracked because another instan



我使用ASP Net核心身份以将用户登录他的帐户

但是由于某种原因,它开始给我一个例外

invalidoperationException:无法跟踪Entity类型'用户'的实例,因为另一个具有键值'{ID:99D1AA12-3F75-497D-A4CC-A4CC-5D2103C1B042}'的实例已经被跟踪。连接现有实体时,请确保仅附加具有给定键值的一个实体实例。

是什么原因引起的?

public async Task<IActionResult> Login(string Login, string Password, string ReturnUrl = "/")
{
    var user = await _context.Users.AsNoTracking().FirstOrDefaultAsync(x => x.UserName == Login);
    if (user == null)
    {
        return View("Error");
    }
    var sign = await _signInManager.PasswordSignInAsync(user, Password, true, true); // here
    if(!sign.Succeeded)
    {
        return View("Error");
    }
    return Redirect(ReturnUrl);
}

您在此处使用Asnotracking,这就是问题的原因。删除它,它将可以找到。

也请确保您在使用之前就知道什么意思。

欢呼

相关内容

最新更新