기존 * .hbm.xml 파일을 유창한 ClassMaps로 업데이트하는 중입니다. 매핑 파일에서 실수를 범했습니다. 내가 올바르게 매핑하는 기본 동작을 알지 못합니다.Fluent NHibernate에 일대일 연속 삭제 - 고아가 없음
매핑 파일이 있습니다
<one-to-one name="LineItemAssembly"
class="LineItemAssembly"
cascade="all-delete-orphan" />
유창함 사용하는 경우, 나는이에 매핑 기대 : AllDeleteOrphan()가 캐스케이드의 전원 옵션을 선택하지 않습니다 (단
HasOne<LineItemAssembly>(x => x.LineItemAssembly)
.Cascade.AllDeleteOrphan();
제대로 그래서). 그게 옵션이 아니기 때문에 그게 이해가 매핑 파일에 오류가 있기 때문입니다. 유창한 매핑이 .hbm.xml 파일과 완전히 똑같은 기능을 갖도록 Fluent를 사용하는 동등한 매핑은 무엇입니까? Fluence 매핑에서 캐스케이드를 벗어나는 것이 기본 동작이 될 것이라고 생각 하겠지만 확실하지는 않습니다.
감사에서 다운로드 할 수 있습니다, 나는 이해한다. 나는 이걸 정확하게 동일하게 매핑하고 싶다. NHibernate가 이것을 유감스럽게 생각하고 유창하지는 않은 것 같아서 Fluent를 용서하는 방법을 모른다. – bunggo
저의 이해는 아이가 존재할 필요가 없다는 것입니다. NHibernate는 자식이 존재하지 않고 참조가 null 일 때 행복하다. 자식이 존재하고 그것을 null로 설정하면, 그 자식은 고아가 될 것이다. 그리고 이제 NHibernate 4.1은 고립 된 일대일 엔티티를 삭제할 수있다. 내 대답을 보라. – xhafan