1

Web 開発の見習いとして、Web フォーラムのダーティ ライトを防止する手がかりがありません。考える材料はありますか?前もって感謝します!

私は ASP.NET MVC と Entity Framework に取り組んでいます。

わかりました、誤解を招いて申し訳ありません。ここでのダーティ ライトとは、データベース内の別の人の変更を上書きすることを意味します。オプティミスティック コンカレンシーを使用している場合。

4

1 に答える 1

2

EF でオプティミスティック コンカレンシーを実行するには、次のようにします。

  1. オプティミスティック同時実行制御に使用するフィールドを追加または選択します。TIMESTAMP を使用します。
  2. EF デザイナーで、このプロパティの ConcurrencyMode を Fixed に変更します。
  3. フィールドの「古い」値をフォームの非表示フィールドにシリアル化します。
  4. フォームが送信されたときに「古い」値を逆シリアル化し、更新しているエンティティに追加します。

更新中に格納された値が古い値と一致しない場合、EF は OptimisticConcurrencyException をスローします。

于 2009-11-03T15:28:52.263 に答える