Я добавил пользовательские поля в класс ApplicationUser
Я также создал форму, через которую пользователь может вводить/редактировать поля.
Однако по какой-то причине я не могу обновить поля в базе данных.
[HttpPost]
[ActionName("Edit")]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Manage(EditProfileViewModel model)
{
if (ModelState.IsValid)
{
// Get the current application user
var user = User.Identity.GetApplicationUser();
// Update the details
user.Name = new Name { First = model.FirstName, Last = model.LastName, Nickname = model.NickName };
user.Birthday = model.Birthdate;
// This is the part that doesn't work
var result = await UserManager.UpdateAsync(user);
// However, it always succeeds inspite of not updating the database
if (!result.Succeeded)
{
AddErrors(result);
}
}
return RedirectToAction("Manage");
}
Моя проблема аналогична пользовательским свойствам MVC5 ApplicationUser, но, похоже, используется старая версия Identity, потому что класс IdentityManager, похоже, не существует.
Может ли кто-нибудь помочь мне обновить информацию User
в базе данных?
UPDATE:
Если я включаю все поля в регистрационную форму, все значения хранятся в соответствующем поле в новой записи таблицы Users
из базы данных.
Я не знаю, чтобы вносить изменения в поля существующего пользователя (строка в таблице Users
). UserManager.UpdateAsync(user)
не работает.
Также обратите внимание, что моя проблема больше ориентирована на идентичность, чем EntityFramework