MVC 5更新行

时间:2015-09-26 13:46:43

标签: c# asp.net-mvc asp.net-mvc-5

我需要在行的某些列中进行更新,但我不知道用户将更新它的列。 有许多必填字段,可能是用户不需要更新某些必需的字段

         [HttpPost]
        public ActionResult Edit(int id,users user)
        {

                users query = db.users.Single(u => u.Id == id);


            query.username = user.username;
            query.password = user.password;
            query.confirmPassword = user.confirmPassword;
            query.email = user.email;
            query.type = user.type;
            query.photopath = user.photopath;
            query.address = user.address;
            query.note = user.note;

            db.SaveChanges();

                return RedirectToAction("Index");
}

通过这种方式,如果我更新一些必需的文件有错误

  

类型的例外   发生'System.Data.Entity.Validation.DbEntityValidationException'   在EntityFramework.dll中但未在用户代码中处理

     

其他信息:一个或多个实体的验证失败。   有关详细信息,请参阅“EntityValidationErrors”属性。

1 个答案:

答案 0 :(得分:0)

在更新之前使用if条件检查需要更新的行 如在

if(!user.username.toString().Equals(query.username))//dont update it when already they are same
{
 query.username = user.username; 
}