无法保存到数据库

时间:2018-04-13 00:16:07

标签: c# asp.net-mvc

我创建了一个视图来显示数据库中的数据

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,它显示数据没有保存。

我没有发现语法错误。

数据真的保存了吗?

1 个答案:

答案 0 :(得分:-4)

UpdateDetail 操作中添加调试器,并编写if(ModelState.IsValid){// www.logic go there} else {return View();}检查模型状态&#39 ; t有任何错误,然后尝试更新用户,看起来当我们有一些非可空字段并将空值传递给它们时就会发生。