NHibernate 可以在不锁定表的情况下以某种方式强制版本号递增吗?
我知道我可以这样做来强制增加版本号:
session.Lock(myEntity, LockMode.Force);
但问题是这也会在表行上获得一个物理锁,这会导致我的应用程序出现很大的并发问题。
在 Java Hibernate 世界中,这似乎是可能的:
session.lock(myEntity, LockMode.OPTIMISTIC_FORCE_INCREMENT);
NHibernate'sLockMode.Force
似乎等同于 Hibernate's LockMode.PESSIMISTIC_FORCE_INCREMENT
,但不等同于LockMode.OPTIMISTIC_FORCE_INCREMENT
.
比较 Java 和 .NET 版本的文档,NHibernate 中似乎缺少几个在 Hibernate 中存在的 LockMode。任何想法如何处理该限制?