Мой метод действия MVC получает объект сущности (страницу), который связыватель модели по умолчанию создает из данных коллекции форм. Некоторые поля неверны или пусты, потому что они не были отправлены в запросе на сервер, например, я не отправляю «CreateDate
», а связыватель модели по умолчанию устанавливает для этого свойства какое-то значение по умолчанию, которое мне не нужно.
Как только объект прикреплен, он, конечно, пытается сохранить все значения (включая недопустимые/ненужные) в базе данных. Я мог бы, конечно, назначать вручную для каждого свойства, но мне было интересно, могу ли я как-то пометить свойство, чтобы оно не сохранялось, когда EntityState настроен на изменение и вызывается 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();
}