Tengo una clase autorreferencial. Un niño tiene una referencia a su padre y un padre tiene una lista de hijos. Dado que la lista de niños está ordenada, intento mapear la relación usando NHibernate.Nhibernate - La lista de asignación no actualiza los índices de lista
Esta es mi mapeo:
<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>
El problema que estoy teniendo es cuando tener un hijo mapeo bidireccional < -> padre, el índice de la lista (ListOrder) no se actualiza en la base de datos cuando Hago mi danza CRUD. Esto significa que cuando yo, por ejemplo, eliminar un niño, tengo agujeros en la lista de niños después de guardar en la base de datos y buscar el padre de nuevo. Si elimino la bidireccionalidad, al no tener un número de varios de los hijos con el padre (y no inverso = verdadero), ListOrder se actualiza correctamente.
¿Alguno de ustedes ha visto esto antes? ¿Hay alguna solución simple?
su debido a la inversa = true, no está seguro de cuál es la mejor solución es, sin embargo, tener exactamente el mismo problema en este momento. estad atentos –
Sí, es por inverso = verdadero. Si se elimina el bidir, todo funciona como me gustaría, ListOrder-wise. La cuestión es que tengo que implementar la propiedad de los niños yo mismo, lo que no quiero. –