2009-07-13 71 views
1

SQL Server不支持NHibernate用於悲觀鎖定的「SELECT FOR UPDATE」語法。 我讀了here on StackOverflow其他替代品的描述(我喜歡「SELECT WITH(...)」,因爲它非常接近)。在SQL Server 2008中使用NHibernate進行悲觀鎖定

但NHibernate似乎不支持這種語法。

你有解決方法嗎? 我相信這可以通過修改NHibernate內部實現,但目前這對我來說並不划算(學習曲線)。 我也可以使用帶有應用程序鎖的存儲過程,並從NHibernate訪問它。 有沒有其他建議? (除了在寫入之前總是閱讀......)

+2

這不是悲觀鎖?樂觀鎖定是指* *不*預先鎖定,希望該行不會更改,並且測試更新中的更改。 – 2009-07-13 16:12:34

+0

當然,你是對的。謝謝,編輯。 – 2009-07-14 08:36:17

回答

0

我不太瞭解NHibernate,但在SQL中,ROWVERSION類型的列通常用於實現樂觀鎖定。例如here