2010-06-22 48 views

回答

7

您可以設置級聯選項刪除孤兒:

HasMany(x => x.Children).KeyColumn("ParentId").AsBag().Inverse() 
    .Cascade.AllDeleteOrphan(); 

爲了使這您需要從父級集合中刪除子對象並刷新會話:

using (var txn = session.BeginTransaction()) 
{ 
    parent.Children.Remove(child); 
    txn.Commit(); 
} 
0

我沒有Fluent.NH在這裏,但我知道你可以指定級聯類型的映射。將它設置爲全刪除孤兒應該做你想問的。

如果您使用基於約定的配置這應該給你一個起點..

Cascade Saves with Fluent NHibernate AutoMapping