MVC 5更新行中未知列

本文关键字:未知 更新 MVC | 更新日期: 2023-09-27 18:14:34

我需要更新行中的一些列,但我不知道用户将更新哪些列。有很多必填项,可能是用户不需要更新的一些必填项

         [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'属性。

MVC 5更新行中未知列

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

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