我在Nhibernate中映射了以下模式。在删除子类别时,我想删除类别和事件子类别。但是事件也被删除了。我应该映射这个的任何线索吗?
活动< - >事件子类别< - >子类别
HasManyToMany(x => x.CalendarEvents).Cascade.All().AsBag().Inverse();
答案 0 :(得分:0)
查看完整的映射定义会很有帮助,但原则上您需要确保Event Sub Categories
和Sub Categories
之间的映射定义具有Cascade.All()
或Cascade.Delete()
指定的选项(如代码示例中所示)。
但是Event
和Event Sub Categories
之间的映射定义必须定义Cascade.None()
。这将阻止nHibernate将子类别的删除一直级联到事件。