当我在usermanager中对用户字段进行更改时,我无法通过更新userstore使这些更改保留在用户表中。
我尝试了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()
我希望能够更改用户的订阅状态,并将那些更改保留在用户表中。
答案 0 :(得分:0)
代码的一个问题是UpdateAsync是异步操作,因此线程将在UpdateAsync完成之前继续执行下一行代码。这意味着SaveChangesAsync函数很可能在UpdateAsync函数完成之前完成。您可以在UpdateAsync之前添加一个等待操作符,以确保它在SaveChangesAsync之前完成。