多个引用的流畅Nhibernate实体有很多关系:级联删除不起作用

时间:2012-03-21 04:34:18

标签: c# nhibernate fluent-nhibernate

我有一个场景,其中包括3个A,B和C。

A有很多C. B有很多C

C有A C有一个B

我在A,AddC上有一个方法,它处理C的生命周期。

所以例如我有一个有很多C的A,我想删除一个C(1)并添加一个C(2)。 如果我要删除的C(1)有对B的引用,我通过我的C(1)实例访问B并从该集合中删除B.然后我从A上的集合中删除C(1)。然后将新的C(2)添加到A和B上的集合中。

我可以选择在C(1)上设置指向A和B的属性为空。

我正在尝试找出如何设置映射,以便在调用此方法并刷新会话后删除C(1)。

我尝试在A,B和A,B上映射cascadeAllDeleteOrphan。我尝试过使用Inverse / NotInverse,但由于我只使用一种方法来更新这三个对象之间的关系,所以我并不太关心哪一端管理关系。 我也尝试将C(1)的属性设置为A和B的实例,并保留A和B的映射具有HasMany(c).Not.Inverse。

最终结果是我的Cs没有被正确删除。

这里有什么我想念的吗?

如果您想要一个真实姓名的场景,请告诉我。 感谢。

0 个答案:

没有答案