同様のスレッドがいくつか見つかりましたが、すべて私のコードが回答として得られました。
私は一対多の関係を使用しています。
親のマッピング:
HasMany(x => x.Targetings).KeyColumn("fk_campaign_id").Cascade.AllDeleteOrphan().Inverse().AsBag();
子は次のとおりです。
References(x => x.NhCampaign).Column("fk_campaign_id");
父親は子供のリストを持っています。すべてが機能しています-挿入と更新。しかし、何らかの理由で父のリストを空にしたり、リスト項目を削除したりしても、データベースから子が削除されません。リストが空であっても。
これが私が更新する方法です:
using (ISession session = NHibernateHelper.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Update(FatherObject);
//session.SaveOrUpdate(oCampaign);
transaction.Commit();
}
}
私はここで何か間違っていますか?