我的 MVC 操作方法接收默认模型绑定器从表单集合数据创建的实体对象(页面)。有些字段是错误的或空的,因为它们没有在请求中发送到服务器,例如我不发送“ CreateDate
”,并且默认模型绑定器将此属性设置为一些我不需要的默认值。
一旦附加了对象,它当然会尝试将所有值(包括无效/不需要的值保存到数据库)。我当然可以在每个属性的基础上手动分配,但我想知道是否可以以某种方式标记一个属性,以便在 EntityState 设置为 modified 并调用 SaveChanges() 时它不会持久化。
public ActionResult SomeMethod(Page page)
{
page.ModifyDate = DateTime.Now;
_db.NewsPages.Attach(page);
_db.ObjectStateManager.ChangeObjectState(page, System.Data.EntityState.Modified);
_db.SaveChanges();
_db.Dispose();
}