Ich habe eine selbstverweisende Klasse. Ein Kind hat einen Bezug zu seinem Elternteil und ein Elternteil hat eine Liste von Kindern. Da die Liste der Kinder geordnet ist, versuche ich, die Beziehung mit NHibernate zu verknüpfen.Nhibernate - Zuordnungsliste wird nicht aktualisiert Listenindizes
Das ist mein Mapping:
<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>
Das Problem, das ich habe, wenn ein bidirektionales Kind Mapping < mit -> Eltern wird die Liste Index (ListOrder) nicht in der Datenbank aktualisiert, wenn Ich mache meinen CRUD-Tanz. Dies bedeutet, dass wenn z.B. Entfernen Sie ein Kind, ich bekomme Löcher in der Kinderliste nach dem Speichern in der Datenbank und Holen der Eltern erneut. Wenn ich die Bidirektionalität lösche, indem ich von den Kindern zu den Eltern kein NULL-zu-Eins habe (und keine Inverse = true), wird die ListOrder korrekt aktualisiert.
Hat jemand von euch das schon mal gesehen? Gibt es eine einfache Lösung?
seine wegen der inversen = true, nicht sicher, was die beste Lösung noch ist, mit genau das gleiche Problem im Moment. bleiben Sie dran –
Yup, es ist wegen inverse = true. Wenn das Bidir entfernt wird, funktioniert alles wie gewünscht, ListOrder-weise. Die Sache ist, dass ich das Kindereigentum selbst implementieren muss, was ich nicht will. –