【发布时间】:2012-09-04 13:05:38
【问题描述】:
我有 Company->Users 一对多的关系,我希望在删除公司时级联删除用户。问题是 NHibernate(根据控制台输出:我已将 Nhibernate 配置为将生成的 sql 记录到控制台)首先加载子集合,然后对每个子集合执行删除。如何配置 NHibernate 级联删除子集合而不加载它?
【问题讨论】:
标签: nhibernate nhibernate-mapping cascading-deletes
我有 Company->Users 一对多的关系,我希望在删除公司时级联删除用户。问题是 NHibernate(根据控制台输出:我已将 Nhibernate 配置为将生成的 sql 记录到控制台)首先加载子集合,然后对每个子集合执行删除。如何配置 NHibernate 级联删除子集合而不加载它?
【问题讨论】:
标签: nhibernate nhibernate-mapping cascading-deletes
在此处查看此答案:https://stackoverflow.com/a/1323461/27343
可能有一些优化空间,但实际上并没有那么糟糕,在某些情况下加载子代而不是试图盲目地执行一些 SQL 删除语句更好。
NHibernate 支持“删除级联”选项
<key column="column" on-delete="cascade" />
但它仅在某些情况下有效。它会告诉您何时加载映射文件。
【讨论】: