1

NHibernateに孤立したレコードを削除させるためのいくつかの解決策を試しました。次の構造が与えられます:

public class Parent {

    public virtual ICollection<Domain> Domains {get;set;}

}
public class Domain{

    public virtual Parent Parent {get;set;}
}

更新: それはセッターとは何の関係もありませんでした。これにより、他の問題が発生し、修正されました。しかし、孤児の削除はまだ発生しません。私は次のことを試しました。

  • http://mookid.dk/oncode/archives/643に従って、ドメイン(およびドメインクラスのParentプロパティ)に属性を追加します

  • 次のような自動マッピングを追加しました:

    AutoMap.Override<Parent>(map => { map.HasMany(x => x.Domains).Inverse().Cascade.All(); })
    AutoMap.Override<Parent>(map => { map.HasMany(x => x.Domains).Cascade.All(); })
    

どちらの場合も、ドメインレコードはParent_Id=nullで保存されていました。

自動マッピングと組み合わせてこれを実現する方法についての良い例はありますか?

4

1 に答える 1

3

deleteOrphanを指定していません

map.HasMany(x => x.Domains).Inverse().Cascade.AllDeleteOrphan()
于 2012-03-28T18:32:25.663 に答える