我正在尝试通过清除集合(list.clear())或在父级上创建集合的新实例来清除父/子关系中的集合。
与此相似: http://markmail.org/message/mnvooa7g57dlbxta#query:+page:1+mid:mnvooa7g57dlbxta+state:results
我的测试与上面链接中的测试非常相似。我已经尝试了几种组合设置,但对于我的生活,我不能让NHibernate为所有子项发出单个sql删除,而不是每个子对象的sql删除。我一定错过了什么。
答案 0 :(得分:2)
有趣的帖子。你有没有在NHibernate Jira中跟踪ayendes problem?我试图和Sergey Koshcheyev将其标记为“不是问题”,因为inverse = true映射似乎禁止一次删除工作,这意味着反向映射禁止删除孤儿正常工作导致孤儿似乎太过自足了。 (不确定这是正确的形容词)
尝试从父级单向映射(如果可能),以使子级更依赖并(希望)一次性删除工作。
答案 1 :(得分:0)
一次性删除可能会产生意想不到的副作用,所以我认为NHibernate可以安全地播放它,只删除从该集合中清除的子节点。当然,您总是可以使用hql编写自己的删除。