最近、Identity 1.0から2.0への移行を目的としてデータベースのAspNetUsersテーブルに新しい列を追加しました。私は 'EmailConfirmed'カラムをnullに設定していましたが、プロジェクトを実行してログインする時に、「アクション:LoginPartialコントローラ:アカウント例外メッセージ: 'IdentityUser`4の' EmailConfirmed ' 'null'値に設定することはできませんでした。このプロパティを 'System.Boolean'型のnull以外の値に設定する必要があります。「AspNetUsers」テーブルの「EmailConfirmed」列にnull値を指定する受信エラーを挿入できません。
エラーは、アカウントコントローラページ内のログインメソッド内で発生します。この向こう
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryTokenOnAllPosts]
public async Task<ActionResult> Login(LoginViewModel model)
{
try
{
if (ModelState.IsValid)
{
var user = await UserManager.FindAsync(model.UserName, model.Password);
if (user != null)
{
await SignInAsync(user, false);
return RedirectToAction("HomeIndex", "Home");
}
else
{
TempData["ErrorMsg"] = "Incorrect email and/or password. Please try again...";
}
}
// If we got this far, something failed, redisplay form
return View("LoginPartial", model);
}
catch (Exception e)
{
HandleErrorInfo error = new HandleErrorInfo(e, "Account", "LoginPartial");
return View("Error", error);
}
}
私はここから行くのはどこ本当にわからない:ここではいくつかのコードは、(それがユーザー変数を持つ行で壊す)です。エラーを引き起こしていることと、それを修正するために何ができるかについて誰かが手掛かりを持っていますか?
P.S.ここでは、データベース内のテーブルの写真です:
public bool? EmailConfirmed {get;セット; }をIdentityUserクラスに追加します。あなたのご意見ありがとうございます。 – Bastian
答えを正しいとマークできますか? –