Как предотвратить грязную запись для веб-форумов?

Как ученик по веб-разработке, я понятия не имею, как предотвратить грязную запись для веб-форумов. Есть ли пища для размышлений? Заранее спасибо!

Я работаю над ASP.NET MVC и Entity Framework.

Хорошо, извините за ввод в заблуждение. Грязная запись здесь означает перезапись изменений другого человека в базе данных. При использовании оптимистического параллелизма.

1 ответ

Решение

Чтобы сделать оптимистичный параллелизм в EF, вы:

  1. Добавьте или выберите поле для использования для оптимистичного управления параллелизмом. Мы используем TIMESTAMP.
  2. В конструкторе EF измените ConcurrencyMode на Fixed для этого свойства.
  3. Сериализуйте "старое" значение поля для скрытого поля в форме.
  4. Десериализуйте "старое" значение при отправке формы и добавьте его к обновляемой сущности.

EF выдаст исключение OptimisticConcurrencyException, если сохраненное значение не соответствует старому значению во время обновления.

Другие вопросы по тегам