내 도메인 구동 디자인에서 필자는 포함 엔티티, 예를 들어 구성 엔티티의 목록이있는 자동차를 가지고 있습니다. 바퀴.엔티티 및 NHibernate 지속성을 포함하는 도메인 기반 디자인
이제 자동차 엔티티에 ChangeWheel 메서드를 추가하고 싶습니다. 바퀴를 변경한다고해서 실제로 자동차 엔티티가 변경되는 것은 아닙니다. 휠 콜렉션에있는 엔테이트 중 하나에만 영향을 미칩니다. 나는. Car 엔터티에는 IList 특성이 있습니다. 내 데이터베이스 스키마에서 나는 바퀴에 대한 참조가없는 자동차 엔티티가있다. 오히려 바퀴 테이블에는 CarId의 외래 키가있다.
자동차의 휠을 변경하면 특정 휠 레코드가 업데이트됩니다. 업데이트하려는 유일한 테이블은 데이터베이스의 버전 감사 테이블입니다.
내가 NHibernate를 통해 저장소에서 Car 엔티티를 추출하고 ChangeWheel (...)을 호출 한 다음 다시 저장하면 NHibernate가 자동차 레코드의 새 버전을 저장하지 않도록 구성 할 수 있습니까?
이 모든 것이 의미가 있기를 바랍니다. 그렇지 않은 경우 사전에 질문 해주세요.
좋은 ORM은 레코드의 데이터가 실제로 변경되었을 때만 데이터를 데이터베이스 테이블에 저장해야한다. –