2012-05-09 1 views
0

나는 내 컨트롤러 매핑 된 같은유창함 NHibernate에와 DynamicUpdate

public ActionResult Save(TblContent model) 

하지만 플러시 호출 할 때 던져 예외 NH 매핑을 다음

public class TblContentMap : ClassMap<TblContent> { 

     public TblContentMap() { 
      Table("tbl_content"); 
      DynamicUpdate(); 

      Id(x => x.Id).GeneratedBy.Identity().Column("id"); 
.... 
      Map(x => x.ArticleType).Column("article_type").Not.Nullable(); 

     } 
    } 

있습니다. null이 아닌 속성이 null 또는 일시적인 값을 참조합니다. SocialDB.NDbModel.TblContent.ArticleType

질문은 왜입니까? 동적 업데이트가 어떤 속성이 변경되었는지 추적하고 그 값만 업데이트해야한다는 것을 이해합니다.

추신. 나는 그것이 첫번째로 그 다음 갱신 모델을 얻는다면 그것이 작동한다는 것을 안다. var item = MvcApplication.CurrentSession.GetContentById (model.Id); item.Content = model.Content.StripHtml (false);

답변

0

일반적으로 EF와 마찬가지로 동적 업데이트를 사용하여 항목을 선택하고 필드를 업데이트 한 다음 데이터베이스로 푸시하여 수정 된 필드 만 업데이트합니다.

1

DynamicUpdate는 업데이트 전용이며 새 개체를 삽입하지 않습니다.

NH 이미 문제가 무엇인지를 말하고있다

- null이 아닌 속성이

전에 어떤 값으로 ArticleType 속성을 설정 null 또는 과도 값 SocialDB.NDbModel.TblContent.ArticleType를 참조 절약.