我正在为我的 CRUD 应用程序编写一个 Edit 方法,但我一直在更新用户角色。我正在尝试遍历用户角色并分配用户角色尚未分配角色。我收到一条错误消息,foreach cannot operate on variables of type 'Task<IList<string>>' because 'Task<IList<string>>' does not contain a public instance definition for 'GetEnumerator'我该如何解决这个问题?或者有什么更好的方法来解决这个问题?
[HttpPost]
public async Task<IActionResult> Edit(EditUserViewModel editUserViewModel)
{
var user = _userManager.Users.Where(e => e.Id == editUserViewModel.id).SingleOrDefault();
user.FirstName = editUserViewModel.FirstName;
user.LastName = editUserViewModel.LastName;
user.MiddleName = editUserViewModel.MiddleName;
user.Dob = editUserViewModel.Dob;
var AllUserRoles = _userManager.GetRolesAsync(user);
foreach(var userRole in AllUserRoles)
{
if (userRole != editUserViewModel.RoleToBeAssigned)
{
await _userManager.AddToRoleAsync(user, editUserViewModel.RoleToBeAssigned);
}
}
await _userManager.UpdateAsync(user);
return View(user);
}