NHibernate - 多对多关系 - 删除项目

时间:2013-06-05 07:56:01

标签: hibernate nhibernate fluent-nhibernate

我在Nhibernate中映射了以下模式。在删除子类别时,我想删除类别和事件子类别。但是事件也被删除了。我应该映射这个的任何线索吗?

活动< - >事件子类别< - >子类别

HasManyToMany(x => x.CalendarEvents).Cascade.All().AsBag().Inverse();

1 个答案:

答案 0 :(得分:0)

查看完整的映射定义会很有帮助,但原则上您需要确保Event Sub CategoriesSub Categories之间的映射定义具有Cascade.All()Cascade.Delete()指定的选项(如代码示例中所示)。

但是EventEvent Sub Categories之间的映射定义必须定义Cascade.None()。这将阻止nHibernate将子类别的删除一直级联到事件。