2010-01-03 3 views
21

캐스케이드Nhibernate에서 무엇을 의미합니까?NHibernate에 캐스케이드

나는 계단식으로 많은 옵션을 참조하십시오

당신이 예제와 함께 다음을 설명 할 수 모든

  • AllDeleteOrphan
  • DeleteOrphan
  • SaveUpdate을
  • 삭제 그들의 구별?

  • 답변

    25

    항목의 관련 항목에 작업을 적용한다는 의미입니다.

    참조하십시오 NHibernate Cascades: the different between all, all-delete-orphans and save-update :

    • 없음 - 어떤 폭포를 할 사용자가 스스로를 처리하지 않습니다.

    • 저장 업데이트 - 객체 (다 대다 시나리오에서 협회를 업데이트/저장 포함) 이 그것을 필요로 어떤 개체를 업데이트/협회 을 확인하고 저장, 갱신/저장 때.

    • 삭제 - 개체 이 삭제되면 에있는 모든 개체를 삭제하십시오.

    • 삭제 - 고아 - 개체가 삭제되면 모두 개체를 삭제하십시오. 에서 개체가 이 연결에서 제거 된 경우 이 아닌 다른 개체 (고아)과 연결된 경우 삭제하십시오.

    • 모두 - 개체가 저장/업데이트/삭제 될 때 연관을 확인하고 발견 된 모든 개체를 저장/업데이트/삭제합니다.

    • 모든-고아 삭제 - 객체 인 경우 ,/삭제/업데이트 저장 연결을 확인하고 /업데이트 저장 /있는 모든 개체를 삭제합니다. 이 외에도 에서 개체가 제거되어 이 연결되고 다른 개체 (분리됨) 인 과 연결되어 있지 않으면 삭제하십시오.

    +1

    나는 모든 사이의 차이를 이해하지 못하는 모든-- 고아를 삭제 당신이 설명해주십시오 수 있을까? – joncodo

    +1

    @JonathanO 모두 선택하고 연결을 제거하면 연결된 개체가 아닌 연결 만 제거됩니다. all-delete-orphan을 선택하면 관련 객체도 제거됩니다. – iboware