我需要在行的某些列中进行更新,但我不知道用户将更新它的列。 有许多必填字段,可能是用户不需要更新某些必需的字段
[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”属性。
答案 0 :(得分:0)
在更新之前使用if条件检查需要更新的行 如在
if(!user.username.toString().Equals(query.username))//dont update it when already they are same
{
query.username = user.username;
}