0

NHibernate は、テーブル レベルの同時実行のためのメカニズムを提供しますか? 行レベルの同時実行性にはさまざまなオプションがあることを知っていますが、それ以上のものは見つかりません。

例:
1. テーブルから情報を読み取ったとします。
2. その情報に基づいて、次の行がどうあるべきかを計算します。
3. その後、計算された行を挿入します。ただし、その間にテーブル内の情報が変更された場合を除きます。

MS-SQL(私が使用しているもの)には、テーブルで使用して変更を示すタイムスタンプがあることを知っています。これを何らかの方法でNHibernateで使用できることを望んでいました。何か案は?

4

2 に答える 2

0

いいえ、NHibernateはテーブルレベルの同時実行をサポートしていません。私は、他のNHibernate操作と同じセッションで通常のSQLクエリを発行することで、この問題を解決しました。

...WITH (TABLOCKX HOLDLOCKX)" syntax.

ちょっと苦痛ですが、期待通りに動作します。

于 2013-01-16T15:40:09.107 に答える
-1

はい、NHibernateはさまざまなタイプの同時実行をサポートしています。私が見ることができるように、あなたはバージョン管理されたまたは楽観的な同時実行モデルに興味を持っています。それについての優れた記事があります:http: //ayende.com/blog/3946/nhibernate-mapping-concurrency

于 2012-09-26T20:17:05.823 に答える