2012-11-23 136 views
1

我正在使用具有按視圖計算的屬性的實體。在我的示例場景:更新後強制實體刷新

  1. 我越來越從數據庫&我改變了這個實體
  2. 我保留這個實體了Session.update(實體)
  3. 我的一些屬性的實體m調用session.Refresh(實體),因爲視圖計算的某些列可能因我的更改而改變。

所以NHibernate如果被迫有三次到數據庫。

我試圖做到的,是隻有兩個車次:

  1. 我從數據庫&獲得實體我改變了這個實體
  2. 我節省的一些屬性這個實體session.Update(實體)&刷新一次數據庫之旅。

可能嗎?

回答

4

不,這是不可能的。您必須發出三條SQL命令:select,update,select。 NHibernate確實支持批處理,但它將批量插入或更新,而不是混合命令。

的方法,另外,NHibernate的支持Generated Properties,所以你不必手工更新這些列(它仍然需要一個往返,但它是透明的)

+0

生成的屬性?太棒了,我會試試看 – dragonfly