C# 如何在NHibernate中测试升级锁?

C# 如何在NHibernate中测试升级锁?,c#,nhibernate,concurrency,locking,C#,Nhibernate,Concurrency,Locking,让我们假设我有: session.Get<User>(id, LockMode.Upgrade) session.Get(id,LockMode.Upgrade) 第一条线穿过。第二个街区。我想测试一下这个锁,如果锁上了就退出 我将如何执行此操作?LockMode.UpgradeNoWait(仅当您的SQL server支持时才支持) 或者,您也可以使用事务超时来实现类似的功能,但需要更长的延迟。它确实有效。它打开了锁,这已经足够好了。请将您的评论转化为答案,以便我可以接受。NH

让我们假设我有:

session.Get<User>(id, LockMode.Upgrade)
session.Get(id,LockMode.Upgrade)
第一条线穿过。第二个街区。我想测试一下这个锁,如果锁上了就退出


我将如何执行此操作?

LockMode.UpgradeNoWait
(仅当您的SQL server支持时才支持)


或者,您也可以使用事务超时来实现类似的功能,但需要更长的延迟。

它确实有效。它打开了锁,这已经足够好了。请将您的评论转化为答案,以便我可以接受。NHibernate在其最新版本中支持这一点: