2

在我的代码中,我使用 NHibernate ISession.BeginTransaction(IsolationLevel.ReadCommitted) 开始事务。我正在使用火鸟 2.5。有时在多用户环境中会发生死锁。这是预期的。问题是,如果我直接使用 Firebird 的 .NET 提供程序,我可以设置死锁等待超时或使用 NO WAIT 选项,但我使用 NHibernate 并且一个星期现在找不到这样做的方法。任何帮助,意见,提示?

4

1 回答 1

0

从这个非常古老的链接,您可以执行以下任何操作:

  1. 通过调用使用预定义的隔离级别public FbTransaction BeginTransaction(IsolationLevel)
  2. BeginTransaction通过使用此重载更精确地调整事务选项:public FbTransaction BeginTransaction(FbTransactionOptions)

所以可能你应该使用第二个选项来设置 no_wait 参数。但是您可能需要更新版本的文档,或者您可能会遇到像这个人这样的问题。也许看看Jiří Činčura 的博客

于 2013-08-07T21:39:18.340 回答