我々セットアップNHB構成で汚れた楽観的ロックとのエンティティの更新:はNHBから一つのフィールドを除外する汚い楽観的ロック
.Override<OurEntity>(x =>
{
x.DynamicUpdate();
x.OptimisticLock.Dirty();
...
}
それは更新が唯一実際にフィールドを変更要求を生成し、WHERE誰のスレッドがこれを得ないことを保証する声明フィールドは並行して更新され、結果はUPDATE OurEntity SET f1 = 'new value' WHERE f1 = 'old value'
のようになります。
ただし、1つのフィールドをオプティミスティック・ロックから除外して、数十もの他のフィールドと同じように機能させる必要がある場合はどうなりますか? WHEREステートメントは、このフィールドをクエリに含めません。スレッドの数と、この特定のフィールドを並行して更新する頻度は気にしません。
できますか?オプティミスティックロックではない場合、回避策に関する提案はありますか?ありがとう
回避策の1つは、フィールドを別のテーブルに移動することですが、この方法は避けてください。