/// <summary> /// 发布表单,先全部接受,需要更改的IsModified设为true /// </summary> /// <param name="taskList"></param> public void PublishForm([Bind(Include = "id,name,publishName,dataJson,time,state,range,startTime,endTime,explain,isPublish")] TaskList taskList) { DbEntityEntry entry = db.Entry(taskList); entry.State = EntityState.Unchanged; entry.Property("range").IsModified = true; entry.Property("startTime").IsModified = true; entry.Property("endTime").IsModified = true; entry.Property("explain").IsModified = true; entry.Property("isPublish").IsModified = true; try { db.SaveChanges(); } catch (Exception ex) { throw ex; } }
前台将需要更改的值传过来,不需要更改的也要传,随便传个值即可,否则会报 :一例对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性的解决 的错误!
具体参考经验总结16--EF局部更新数据