Biegły NHibernate jeden-do-jednego nie ma kaskadowego, całkowicie usuwanego sieroty
Jestem w trakcie aktualizowania istniejących plików * .hbm.xml do płynnych map klas i natknąłem się na błąd w naszych plikach mapowania i nie znam domyślnego zachowania, aby je poprawnie mapować.
Plik odwzorowania ma:
<one-to-one name="LineItemAssembly"
class="LineItemAssembly"
cascade="all-delete-orphan" />
Korzystając z Fluent, spodziewałbym się, że będzie to mapowane na:
HasOne<LineItemAssembly>(x => x.LineItemAssembly)
.Cascade.AllDeleteOrphan();
Jednak AllDeleteOrphan () nie jest opcją wyłączoną z Cascade (i poprawnie). Rozumiem, że to dlatego, że nie jest to opcja i jest to błąd w pliku odwzorowania. Jakie byłoby ekwiwalentne odwzorowanie przy użyciu Fluent, aby moje płynne mapowanie miało dokładnie taką samą funkcjonalność jak plik .hbm.xml? Myślę, że opuszczenie Cascade z mapowania płynnego byłoby domyślnym zachowaniem, ale po prostu nie wiem na pewno.