我的表有两列CreatedBy
和CreateTime
。在我的 View 表单中,我没有这些字段。现在,当我使用ASP.NET MVC4 Edit(发布)方法更新记录时,这些列将设置为null。但我想保留这些值(value)观。我知道在我的Edit(发布)方法中,我可以从数据库中检索记录并手动进行设置。但是我想知道是否可以要求 Entity Framework 不要更改这些字段的值。
最佳答案
您必须在这里选择:
1)如@KennyZ所述,在您的 View 中的某处添加@Html.HiddenFor()
到您的表单中:
@Html.HiddenFor(m => m.CreatedBy)
@Html.HiddenFor(m => m.createTime)
2)您可以手动更新该实体,并保留这两个属性:
var ent = dbctx.Entities.Find(model.ID);
ent.Prop1 = model.Prop1;
// ... also for other properties except those two property
dbctx.SaveChanges();