首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在NHibernate中如何处理并发性?

在NHibernate中如何处理并发性?
EN

Stack Overflow用户
提问于 2008-09-23 01:00:07
回答 3查看 14.8K关注 0票数 18

如何使用NHibernate支持乐观/悲观并发?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-09-23 01:04:00

默认情况下,NHibernate支持开放式并发。另一方面,悲观并发可以通过ISession.Lock()方法实现。

这些问题在this document中有详细的讨论。

票数 17
EN

Stack Overflow用户

发布于 2008-09-23 01:08:20

NHibernate支持两种类型的乐观并发。

您可以通过在映射文件中的"class“元素上使用”乐观锁=脏“属性来让它检查脏字段,也可以使用”乐观锁=版本“(这也是默认设置)。如果您使用版本,则需要在映射文件中提供一个" version“元素,该元素映射到数据库中的一个字段。

版本可以是Int64、Int32、Int16、Ticks、Timestamp或TimeSpan类型,并在保存时自动递增。有关详细信息,请参阅NHibernate文档中的Chapter 5

票数 22
EN

Stack Overflow用户

发布于 2008-10-15 08:28:54

你也可以手动比较版本号(假设你已经给你的实体添加了一个版本属性)。

显然,乐观是唯一明智的选择。当然,有时我们不得不处理一些疯狂的场景……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/118526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档