Ma classe A a une propriété:NHibernate ne met pas à jour colonne Index lors de la suppression d'un objet à partir d'une liste
public virtual IList<IVisitor> Visitors { get; set; }
qui est mis en correspondance comme suit:
<list name="Visitors" table="Visitor" cascade="all-delete-orphan">
<key column="SomeID" not-null="true" update="false" />
<index column="idx" />
<one-to-many class="Visitor" />
</list>
Quand il y a 3 objets la liste, ils ont le IDX 0, 1 et 2.
maintenant, quand je supprimer l'objet du milieu et sauver mon exemple de A comme:
a.Visitors.RemoveAt(1);
a.Save(); // calls session.SaveOrUpdate(a);
la ligne appropriée est supprimée, mais les deux autres lignes à garder son IDX 0 et 2.
Pourquoi ne pas mettre à jour NHibernate à 0 et 1?
Merci.
Cela semble fonctionner, merci! Je viens de copier la mise à jour = "false" d'une autre liste où j'en avais besoin, j'ai oublié pourquoi. Tous les tests sont verts, donc cela pourrait n'avoir aucun impact. – Powerslave
Peut-être à cause de [ceci] (/ a/11576097/1178314). –