Ich habe der ApplicationUser
Klasse benutzerdefinierte Felder hinzugefügt.
Ich habe auch ein Formular erstellt, über das der Benutzer die Felder eingeben / bearbeiten kann.
Aus irgendeinem Grund kann ich die Felder in der Datenbank jedoch nicht aktualisieren.
[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");
}
Mein Problem ähnelt den benutzerdefinierten Eigenschaften von MVC5 ApplicationUser , es scheint jedoch eine ältere Version von Identity zu verwenden, da die IdentityManager-Klasse anscheinend nicht vorhanden ist.
Kann mich jemand anleiten, wie man User
Informationen in der Datenbank aktualisiert ?
UPDATE: Wenn ich alle Felder in das Registerformular einbinde, werden alle Werte im entsprechenden Feld in einem neuen Datensatz der Users
Tabelle aus der Datenbank gespeichert.
Ich kann keine Änderungen an den Feldern eines vorhandenen Benutzers vornehmen (Zeile in der users
Tabelle). UserManager.UpdateAsync(user)
funktioniert nicht
Beachten Sie auch, dass mein Problem mehr identitätsorientiert ist als EntityFramework