C# 按id获取用户时,ASPNET Identity user返回旧记录
我在使用identity user时遇到问题。调用C# 按id获取用户时,ASPNET Identity user返回旧记录,c#,asp.net-mvc,asp.net-identity,C#,Asp.net Mvc,Asp.net Identity,我在使用identity user时遇到问题。调用更新(用户)后,数据库中的记录已更改。当我再次调用Method(stringuserid)containFindById(userId)时,就会出现问题。FindById(userId)返回一个用户,其中所有记录仍然作为第一条记录保留,尽管我之前已经对其进行了更新 我实现了用户表: public class ApplicationUser : IdentityUser { public int MyProperty { set; get; }
更新(用户)
后,数据库中的记录已更改。当我再次调用Method(stringuserid)
containFindById(userId)
时,就会出现问题。FindById(userId)
返回一个用户,其中所有记录仍然作为第一条记录保留,尽管我之前已经对其进行了更新
我实现了用户表:
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()
}
}
公共类ApplicationUserManager:UserManager、IAApplicationUserManager
{
公共任务方法异步(字符串用户ID)
{
//查找用户
//更改前返回对象(MyProperty不等于1)
ApplicationUser user=wait base.FindByIdAsync(userId);
user.MyProperty=1;
wait base.UpdateAsync()
}
}
是否只有在更新当前登录用户的属性时才会发生这种情况?如果是,请尝试重新登录:
SignInManager.SignIn(user, false, false)
用户对象可以通过UserManager.FindById
方法获得