当我更改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()
我希望能够更改用户的订阅状态并在用户表中保留这些更改。
代码的一个问题是UpdateAsync是一个异步操作,因此该线程将在UpdateAsync完成之前继续登上下一行代码。这意味着Savechangesasync功能很可能在更新函数完成之前完成。您可以在UpdateAsync之前添加等待运营商,以确保其在Savechangesasync之前完成。