我创建了一个视图来显示数据库中的数据
public ActionResult UpdateDetail()
{
using (UsersDatabaseEntities ude = new UsersDatabaseEntities())
{
ude.Configuration.ValidateOnSaveEnabled = false;
return View(ude.Users.Where(a => a.Email == User.Identity.Name).FirstOrDefault());
}
}
然后,我尝试编辑并保存到数据库
[HttpPost]
public ActionResult UpdateDetail([Bind(Exclude = "IsEmailVerified,ActivationCode")] User user)
{
if (ModelState.IsValid)
{
using (UsersDatabaseEntities ude = new UsersDatabaseEntities())
{
ude.Entry(user).State = EntityState.Modified;
ude.SaveChanges();
}
}
return View(user);
}
问题是,它似乎没有保存到数据库中。我试图再次调用UpdateDetail,它显示数据没有保存。
我没有发现语法错误。
数据真的保存了吗?
答案 0 :(得分:-4)
在 UpdateDetail 操作中添加调试器,并编写if(ModelState.IsValid){// www.logic go there} else {return View();}检查模型状态&#39 ; t有任何错误,然后尝试更新用户,看起来当我们有一些非可空字段并将空值传递给它们时就会发生。