NHibernate可以以某种方式强制增加版本号而不锁定表吗?
我知道我可以这样做以强制增加版本号:
session.Lock(myEntity, LockMode.Force);
但问题是,这也将获取表行的物理锁定,这会导致我的应用程序出现大的并发问题。
在Java Hibernate世界中,这似乎是可能的:
session.lock(myEntity, LockMode.OPTIMISTIC_FORCE_INCREMENT);
NHibernate的LockMode.Force
似乎等同于Hibernate的LockMode.PESSIMISTIC_FORCE_INCREMENT
,而不等同于LockMode.OPTIMISTIC_FORCE_INCREMENT
。
比较Java和.NET版本的文档,似乎在Hibernate中存在NHibernate中缺少几个LockModes。 任何想法如何处理这种限制?
答案 0 :(得分:0)
如果您使用数字版本属性,您只需将其指定为0,NHibernate将自动为您增加它。