asp.net Identity用户按id获取用户时返回旧记录

本文关键字:用户 返回 记录 获取 id net Identity asp | 更新日期: 2023-09-27 18:18:58

我在使用身份用户时遇到了一个问题。呼叫Update(user)后,数据库中的记录发生了变化。再次调用Method(string userId)时出现问题,包含FindById(userId)FindById(userId)返回一个用户,尽管我之前已经更新了它,但所有记录仍然保留为第一个记录。

我实现了user table:

public class ApplicationUser : IdentityUser
{
  public int MyProperty { set; get; } 
}

用户管理员类:

public class ApplicationUserManager : UserManager<ApplicationUser>, IApplicationUserManager
{
  public Task MethodAsync(string userId)
  {
    // Find user 
    // return object before change (MyProperty not equal 1)
    ApplicationUser user = await base.FindByIdAsync(userId);
    user.MyProperty = 1; 
    await base.UpdateAsync()
  }
}

asp.net Identity用户按id获取用户时返回旧记录

是否仅在更新当前登录用户的属性时发生?如果是,请尝试重新登录:

SignInManager.SignIn(user, false, false)

用户对象可以从UserManager.FindById方法获得