如何在删除父级时阻止NHibernate以一对多关系加载子集合

时间:2012-09-04 13:05:38

标签: nhibernate nhibernate-mapping cascading-deletes

我有公司 - >用户一对多关系,我希望用户在删除公司时级联删除。问题是NHibernate(考虑到控制台输出:我已经将Nhibernate配置为将生成的sql登录到控制台)首先加载子集合,然后对每个子节点执行删除。如何配置NHibernate级联删除子集合而不加载它?

1 个答案:

答案 0 :(得分:0)

请在此处查看此答案:https://stackoverflow.com/a/1323461/27343

可能存在一些优化空间,但实际上并没有那么糟糕,在某些情况下甚至更好地加载子代,而不是试图盲目地执行一些SQL删除语句。

NHibernate支持“删除级联”选项

<key column="column" on-delete="cascade" />

但它仅在某些情况下有效。它会在您加载映射文件时告诉您。