【发布时间】:2016-12-20 00:16:10
【问题描述】:
我最近在数据库的 AspNetUsers 表中添加了一些新列(努力从 Identity 1.0 迁移到 2.0)。我将“EmailConfirmed”列设置为可为空,但是在运行项目并登录时,我收到一条错误消息:“Action: LoginPartial Controller: Account Exception Message: The 'EmailConfirmed' property on 'IdentityUser` 4' 无法设置为“空”值。您必须将此属性设置为“System.Boolean”类型的非空值。”
错误发生在帐户控制器页面内的登录方法内部。这是一些代码(它在用户变量的行处中断):
[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);
}
}
除此之外,我真的不确定从这里去哪里。有没有人知道是什么导致了错误以及我可以做些什么来修复它?
附:这是数据库中表的图片:
【问题讨论】:
标签: c# sql-server asp.net-mvc-5 asp.net-identity