エンティティ フレームワークを使用して Web アプリを開発しています。オブジェクトのリストをロードし、それをリピーターにバインドして、すべてのアイテムの概要を表示します。ユーザーは、リピーター内の各アイテムの編集アイコンまたは削除アイコンをクリックできます。
例:
項目 1 | 編集 | 消去
項目 2 | 編集 | 消去
...
レコードが読み込まれ、ID および rowversion 列の値が非表示のフォーム フィールドに保持されるため、同時実行のために rowversion 列を使用する場合、編集は正常に機能します。これらの「元の」値は、後で更新を行うときに使用できます。
ただし、ユーザーがレコードの [削除] をクリックした場合は、データベースからオブジェクトを読み込み、DeleteObject() を呼び出してから、SaveChanges() を呼び出します。これに関する問題は、レコードをロードすると、最新の rowversion 値が取得されるため、同時実行チェックが役に立たなくなることです。
レコードを削除するときに同時実行チェックが確実に行われるようにするにはどうすればよいですか?