从列表中删除对象时,NHibernate不更新索引列
我的A类有一个属性:从列表中删除对象时,NHibernate不更新索引列,nhibernate,Nhibernate,我的A类有一个属性: public virtual IList<IVisitor> Visitors { get; set; } 将删除相应的行,但其他两行保留其idx 0和2 为什么NHibernate不将其更新为0和1 谢谢。索引不会更新,因为映射要求它们不会更新 从映射键中删除update=“false”。它也适用于索引。该索引被视为列表键的一部分 如果您使用的是旧版本的NHibernate,您还可以使用它。它似乎有效,谢谢!我只是从我需要的另一个列表中复制了update=“
public virtual IList<IVisitor> Visitors { get; set; }
将删除相应的行,但其他两行保留其idx 0和2
为什么NHibernate不将其更新为0和1
谢谢。索引不会更新,因为映射要求它们不会更新 从映射键中删除
update=“false”
。它也适用于索引。该索引被视为列表键的一部分
如果您使用的是旧版本的NHibernate,您还可以使用它。它似乎有效,谢谢!我只是从我需要的另一个列表中复制了update=“false”,但忘记了原因。所有测试都是绿色的,因此可能没有影响,可能是因为。
<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>
a.Visitors.RemoveAt( 1 );
a.Save(); // calls session.SaveOrUpdate( a );