nhibernate 및 저장소 패턴에 대해 매우 기본적인 질문이 있습니다.nhibernate 저장소 패턴
나는 저장소 (집계)가 있으며이 저장소는 부모입니다. 하위를 삭제하려는 경우 하위 및 상위 모두의 삭제를 처리하는 하나의 삭제 메소드가 있어야합니까, 아니면 다른 메소드가 있어야합니까?
자녀가있는 학부모 삭제는 어떻게해야합니까? 샘플 코드를 제공해 주시면 감사하겠습니다.
nhibernate 및 저장소 패턴에 대해 매우 기본적인 질문이 있습니다.nhibernate 저장소 패턴
나는 저장소 (집계)가 있으며이 저장소는 부모입니다. 하위를 삭제하려는 경우 하위 및 상위 모두의 삭제를 처리하는 하나의 삭제 메소드가 있어야합니까, 아니면 다른 메소드가 있어야합니까?
자녀가있는 학부모 삭제는 어떻게해야합니까? 샘플 코드를 제공해 주시면 감사하겠습니다.
매핑을 설정하려면 hbm 매핑 파일 또는 Fluent NHibernate를 사용하고 있습니까? 당신은 매핑 파일을 사용하는 경우
은 하나의 옵션은 객체를 연관된에 캐스케이드되는 cascade 속성, 예컨대 :
...
<bag name="Children" lazy="true" cascade="delete" >
<key column="ParentId" />
<one-to-many class="Child" />
</bag>
...
캐스케이드 = "삭제"부모의 삭제가 발생합니다을 설정하는 것입니다. Cascade는 cascade = "all | none | save-update | delete"로 지정할 수 있으므로 부모에서 연결된 객체로 케스케이드되어야하는 작업을 지정할 수 있습니다.
주 .Cascade.All()
: 당신이 응답을
HasMany(item => item.ItemFeedbackItems)
.KeyColumn("ItemID")
.Cascade.All()
.LazyLoad()
.Access.ReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore);
감사합니다, 내가 매핑을위한 FluentNhibernate을 사용하고 있습니다. – user669803
@ user669803 Fluent 인터페이스에 익숙하지 않지만 다른 유창한 매핑과 마찬가지로 호출을 연결하여 참조 관계를 사용자 정의 할 수 있습니다. 예를 들어 사용할 계단식 전략을 지정하려는 경우 참조 (x => x.Author) .Column ("AuthorId") .Cascade.All(); " – Graham