如果表单中不存在correspndong字段,则MVC4编辑方法将值更改为null

N R*_*ing 5 entity-framework asp.net-mvc-4

我的表有两列CreatedByCreateTime.在我的视图中,我没有这些字段.现在,当我使用ASP.NET MVC4 Edit(post)方法更新记录时,这些列将设置为null.但我想保留这些价值观.我知道在我的Edit(post)方法中,我可以从数据库中检索记录并手动设置它们.但我想知道我是否可以要求实体框架不要更改这些字段的值.

Ami*_*aqi 2

你必须在这里选择:

1)正如@KennyZ提到的,添加到@Html.HiddenFor()您视图中的某个位置,到您的表单中:

@Html.HiddenFor(m => m.CreatedBy)
@Html.HiddenFor(m => m.createTime) 
Run Code Online (Sandbox Code Playgroud)

2) 您可以手动更新该实体并保留这两个属性:

var ent = dbctx.Entities.Find(model.ID);

ent.Prop1 = model.Prop1;
// ... also for other properties except those two property

dbctx.SaveChanges();
Run Code Online (Sandbox Code Playgroud)