更新后强制实体刷新

时间:2012-11-23 08:32:13

标签: nhibernate

我正在使用具有由view计算的属性的实体。在我的示例场景中:

  1. 我从数据库&获取实体我正在改变这个实体的一些属性
  2. 我正在保存此实体session.Update(entity)
  3. 我正在调用session.Refresh(entity),因为视图计算的某些列可能会因我的更改而发生变化。
  4. 所以NHibernate如果被迫三次访问数据库。

    我想要实现的只是两次旅行:

    1. 我从数据库&获取实体我正在改变这个实体的一些属性
    2. 我正在保存此实体会话。更新(实体)&在一次数据库旅行中刷新。
    3. 有可能吗?

1 个答案:

答案 0 :(得分:4)

不,这是不可能的。您必须发出三个SQL命令:select,update,select。 NHibernate确实支持批处理,但它将插入或更新批处理,而不是混合命令。

另外,NHibernate支持Generated Properties,因此您不必手动更新这些列(它仍然需要往返,但它是透明的)