0

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。任何想法如何处理该限制?

4

1 回答 1

0

如果您使用数字版本属性,您可以将其分配给 0,NHibernate 会自动为您增加它。

于 2013-04-20T18:47:49.600 回答