|
|
1
2
您可以使用以下代码在一个步骤中进行删除:
但是,这样做可以避免事件侦听器调用(它只是映射到一个简单的SQL调用)、缓存更新等。 |
|
|
2
2
您的第一个查询来自
您的实际删除语句来自
通常,当您只处理一个对象时,您将使用load()或get()。
就事务而言,这是一篇很好的文章,解释了为什么用事务包装所有NHibernate查询是好的。 |
|
|
3
0
在nhibernate中,我注意到使用两个查询(如您所见)进行删除是最常见的。我相信这是预期的行为。唯一能解决这个问题的方法就是使用缓存,然后如果第一个查询恰好在更早的时候运行,就可以从缓存中加载它。 至于在事务中包装所有内容:在大多数数据库中,事务无论如何都是隐式的。显式事务只是保证数据不会在您的中间操作中被更改。 |
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |