Я не могу сохранить свои изменения для пользователя в пользовательской таблице - PullRequest
0 голосов
/ 23 июня 2019

Когда я делаю изменения в пользовательском поле в usermanager, я не могу сохранить эти изменения в пользовательской таблице, обновляя хранилище пользователей.

Я пробовал userstore.updateasync, userstore.savechanges,и т. д.

Dim dbcontext As New ApplicationDbContext
Dim store1 As New UserStore(Of ApplicationUser)(dbcontext)
Dim manager1 = New UserManager(Of ApplicationUser)(store1)
Dim currentUser = manager1.FindById(Context.User.Identity.GetUserId())

SubscriptionState = "Inactive"
currentUser.SubscriptStatus = SubscriptionState
manager1.UpdateAsync(currentUser)
store1.Context.SaveChangesAsync()

Я хочу иметь возможность изменить статус подписки пользователя и оставить эти изменения в таблице пользователей.

1 Ответ

0 голосов
/ 23 июня 2019

Одна проблема с кодом заключается в том, что UpdateAsync является асинхронной операцией, поэтому поток просто перейдет к следующей строке кода, прежде чем UpdateAsync завершит работу.Это означает, что функция SaveChangesAsync, скорее всего, завершается до завершения функции UpdateAsync.Вы можете добавить оператор ожидания перед UpdateAsync, чтобы убедиться, что он завершен до SaveChangesAsync.

...