asp.net MVCデフォルトコードのRegisterViewModel
クラスに2つの新しいフィールドを追加しました。検証は機能しますが、新しく追加されたフィールドの値はデータベースに挿入されず、他のフィールドが挿入されます。ページからエラーは返されません。登録フォームに新しいプロパティを追加した後にEFがデータベースに挿入されない
私はどこか辺りで、AccountController
クラス内のいくつかのことを行う必要があります推測している:正確にどのように
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
わかりません。
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
//await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");
TempData["Email"] = user.Email;
return RedirectToAction("Confirm", "Account");
}
AddErrors(result);
}
// If we got this far, something failed, redisplay form
return View(model);
}
コードを共有できますか? –
コンテキストオブジェクトに対して 'SaveChanges'が呼び出されていることは確かですか? – Dai
私は 'AccountController'に' SaveChanges'を持っていません – hello