在NHibernate中强制版本增加而不锁定表

时间:2013-04-19 12:41:43

标签: nhibernate

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

1 个答案:

答案 0 :(得分:0)

如果您使用数字版本属性,您只需将其指定为0,NHibernate将自动为您增加它。