MVC 조치 메소드는 기본 모델 바인더가 양식 콜렉션 데이터에서 작성하는 엔티티 오브젝트 (페이지)를 수신합니다. 예를 들어 "CreateDate
"을 보내지 않고 기본 모델 바인더에서이 속성을 필자가 필요로하지 않는 기본값으로 설정하는 등 일부 필드는 서버에 대한 요청에서 전송되지 않았기 때문에 잘못되었거나 null입니다.EF4로 엔티티의 단일 특성을 추적하지 않습니다.
일단 개체가 연결되면 당연히 모든 값 (유효하지 않은 값/필요하지 않은 값을 포함하여 데이터베이스에 유지됨)을 유지하려고 시도합니다. 나는 물론 속성별로 수동으로 할당 할 수 있지만,이 지속되지 않도록 EntityState로 설정하면 어쩌면 내가 속성을 플래그 어떻게 든 할 수 있는지 궁금 해서요()가 호출 ..
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();
}
왜 당신이보기 모델을 사용하지 않는가? 제대로 설계된 응용 프로그램 컨트롤러에서 작업은 도메인 모델이 아닌보기 모델을 인수로 취해야합니다. 그런 다음 뷰 모델을 도메인 모델에 매핑하고 유지합니다. –