0

我正在开发一个使用 Fluent NHibernate 编写的应用程序。这是一个 .Net MVC 应用程序,现在我遇到了以下问题:当两个用户执行相同的操作(即同时预订相同的约会)时,应用程序似乎没有足够快地进行检查以便查看时间段是否已被预订。

我对 NHibernate 的经验非常有限,我只能告诉你,此时 NHibernate Session 的事务隔离级别设置为 ReadCommitted;会话生命周期我假设它设置为 PerWebRequest(我还没有找到执行此操作的代码部分)。

我知道这是很少的信息,但任何人都可以请至少指出我正确的方向吗?

4

1 回答 1

1

NHibernate 文档有一整章专门介绍乐观并发控制

简而言之,通过添加版本字段,NHibernate 可以自动检测代码是否试图修改在读取后被另一个会话更改的记录。之后,您可以重试、显示错误消息等。

于 2012-06-29T14:25:37.697 回答