пессимистическая блокировка в SQL Server 2008 с использованием NHibernate - PullRequest
1 голос
/ 13 июля 2009

SQL Server не поддерживает синтаксис SELECT FOR UPDATE, который используется NHibernate для пессимистической блокировки. Я прочитал здесь, в StackOverflow описания других альтернатив (мне понравилось "SELECT WITH (...)", потому что оно довольно близко).

однако NHibernate, похоже, не поддерживает этот синтаксис.

у вас есть обходной путь для этого? Я полагаю, что этого можно достичь, работая с внутренними компонентами NHibernate, но в данный момент это не является экономически эффективным для меня (кривая обучения). Возможно, я мог бы также использовать хранимую процедуру с блокировками приложений и получить доступ к ней из NHibernate. какие-либо другие предложения? (кроме того, что всегда читаешь перед тем, как писать ...)

Ответы [ 2 ]

2 голосов
/ 13 июля 2009

NHibernate имеет стратегию версий для оптимистической блокировки:

http://ayende.com/Blog/archive/2009/04/15/nhibernate-mapping-concurrency.aspx

0 голосов
/ 13 июля 2009

Я не знаю много о NHibernate, но в SQL столбцы типа ROWVERSION обычно используются для реализации оптимистической блокировки. Пример здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...