这是我的问题:我有一组 ID。这些是根实体集合的 ID。现在我想有效地删除所有这些根实体。
我不能做一种WHERE Id IN (1, 2, 3)
子句,因为我正在删除带有孩子的根实体。
我想知道是否可以避免检索所有根实体并一一删除它们。这种方法的问题不在于SELECT
,它有很多单独的DELETE
语句。
NHibernate 是否可以批量处理,包括删除所有子项?额外的复杂性:孩子可以有自己的孩子。
所以我希望NHibernate首先删除带有IN子句(可能是多个子句)的“最底层”子代,然后是带有IN子句的子代,最后是带有IN子句的根实体。
如果这不可能,那么使用 NHibernate 有效删除多个根实体的好方法是什么?