Mam jedną klasę samo-odwołującą się. Dziecko ma odniesienie do swojego rodzica, a rodzic ma listę dzieci. Ponieważ lista dzieci jest uporządkowana, próbuję odwzorować relację za pomocą NHibernate.Nhibernate - Lista mapowania nie aktualizuje Indeksy listy
To mój mapowania:
<class name="MyClass">
<id name="Id">
<generator class="native"/>
</id>
<list name="Children" cascade="delete" inverse="true">
<key column="ParentId"/>
<index column="ListOrder"/>
<one-to-many class="MyClass"/>
</list>
<many-to-one name="Parent" class="MyClass" column="ParentId"/>
</class>
Problem mam jest, gdy ma dwukierunkową mapowania dziecko < -> rodzic, indeks lista (ListOrder) nie są aktualizowane w bazie danych, gdy Robię mój taniec CRUD. Oznacza to, że gdy ja np. usuń dziecko, dostaję dziury na liście dzieci po zapisaniu w bazie danych i ponownym pobraniu rodzica. Jeśli usunę dwukierunkowość, nie mając wiele-do-jednego z dzieci do rodzica (i bez odwrotności = prawda), ListOrder jest poprawnie zaktualizowany.
Czy ktokolwiek z was to widział wcześniej? Czy istnieje jakieś proste rozwiązanie?
jego ponieważ odwrotności = true, nie wiem, co jest najlepszym rozwiązaniem jest jednak, mając dokładnie ten sam problem w tej chwili. bądź czujny –
Tak, to z powodu inverse = true. Jeśli bidir zostanie usunięty, wszystko działa tak, jak bym tego chciał, ListOrder-mądry. Chodzi o to, że sam muszę zaimplementować własność dzieci, której nie chcę. –