Propriedades Customizadas do MVC5 ApplicationUser

Eu estou tentando lidar com o novo sistema Membership introduzido na ASP.NET MVC 5 e me deparei com um pequeno problema que eu tenho certeza que você será capaz de me ajudar.

Eu estou indo baseadoeste tutorial e introduziu propriedades personalizadas para ApplicationUser como Nome, Sobrenome, DOB, etc.

No entanto, em vez de criar o usuário, estou tentando atualizar o atualmente conectado. Eu estou olhando para o método controlador que atualmente é usado para alterar a senha.

public async Task<ActionResult> Manage(ManageUserViewModel model)
        {
            string userId = User.Identity.GetUserId();
            bool hasLocalLogin = await IdentityManager.Logins.HasLocalLoginAsync(userId);
            ViewBag.HasLocalPassword = hasLocalLogin;
            ViewBag.ReturnUrl = Url.Action("Manage");

            if (hasLocalLogin)
            {               
                if (ModelState.IsValid)
                {
                    IdentityResult result = await IdentityManager.Passwords.ChangePasswordAsync(User.Identity.GetUserName(), model.OldPassword, model.NewPassword);
                    if (result.Success)
                    {
                        return RedirectToAction("Manage", new { Message = "Your password has been changed." });
                    }
                    else
                    {
                        AddErrors(result);
                    }
                }
            }
            else
            {
                // User does not have a local password so remove any validation errors caused by a missing OldPassword field
                ModelState state = ModelState["OldPassword"];
                if (state != null)
                {
                    state.Errors.Clear();
                }

                if (ModelState.IsValid)
                {
                    // Create the local login info and link it to the user
                    IdentityResult result = await IdentityManager.Logins.AddLocalLoginAsync(userId, User.Identity.GetUserName(), model.NewPassword);
                    if (result.Success)
                    {
                        return RedirectToAction("Manage", new { Message = "Your password has been set." });
                    }
                    else
                    {
                        AddErrors(result);
                    }

            }
        }

        // If we got this far, something failed, redisplay form
        return View(model);
    }

Como exatamente eu iria sobre atualizar o sobrenome de um usuário da aplicação, por exemplo? Preciso chamar o DbContext ou?

Espero que minha pergunta esteja clara.

questionAnswers(3)

yourAnswerToTheQuestion