2015-10-23 4 views
0

У меня возникла проблема при использовании идентификатора пользователя. После вызова Update(user) запись в базе данных была изменена. Проблема возникает, когда я снова вызываю Method(string userId), содержащий FindById(userId). FindById(userId) возвращает пользователя со всей записью, все еще оставаясь первой, хотя я ее уже обновил.ASPNET Идентификатор пользователя возвращает старую запись, когда пользователь получает идентификатор

я реализую пользователя таблицу:

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() 
    } 
} 

ответ

0

ли это происходит только тогда, когда вы обновляете тока вошедшего пользователя «S свойств? Если это так, попробуйте повторно войти еще раз:

SignInManager.SignIn(user, false, false) 

Объект пользователя может быть получен из метода UserManager.FindById.

Смежные вопросы