【发布时间】:2015-11-27 22:43:28
【问题描述】:
我试图更新数据库中的用户数据,我从视图中获取值并将这些数据分配给当前用户。然而,当我更新用户数据var result = await UserManager.UpdateAsync(userAccount);时,我在该行出现错误。它是这样写的一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。。我该如何解决?谢谢
控制器:
public ApplicationUserManager UserManager
{
get
{
return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> ModifyAccount(ModifyUserAccountViewModel model)
{
var user = await UserManager.FindByIdAsync(int.Parse(User.Identity.GetUserId()));
UserAccount userAccount = (UserAccount)user;
userAccount.surname = model.surname;
userAccount.name = model.name;
userAccount.Email = model.email;
var result = await UserManager.UpdateAsync(userAccount);
if (result.Succeeded)
{
return RedirectToAction("Index", new { Message = "Account modyfyied successfully!" });
}
AddErrors(result);
return View("Error");
}
Startup.cs:
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
}
【问题讨论】:
-
您是否:请参阅“EntityValidationErrors”属性了解更多详细信息?你能确定你得到了什么验证错误吗?
-
System.Data.Entity.Validation.DbEntityValidationException,是这样写的
-
您可以尝试使用此代码来确定导致您的错误的属性:stackoverflow.com/a/6258174/1081079
-
**App_Web_2cj5f1rz.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理 ** 我现在正在处理该错误
-
您可以发布您更改的代码吗?
标签: asp.net-mvc asp.net-identity usermanager