Я разрабатываю веб-приложение с использованием Entity Framework. Я загружаю список объектов и привязываю его к повторителю, чтобы показать сводку по всем элементам. Пользователь может щелкнуть значок редактирования или значок удаления для каждого элемента в репитере.
Пример:
Пункт 1 | Редактировать | Удалить
Пункт 2 | Редактировать | Удалить
...
Редактирование отлично работает при использовании столбца rowversion для параллелизма, поскольку запись загружается, а значения столбца ID и rowversion сохраняются в скрытых полях формы. Эти «исходные» значения можно будет использовать позже при обновлении.
Однако, если пользователь нажимает кнопку «Удалить» для записи, я загружаю объект из базы данных, вызываю DeleteObject (), а затем вызываю SaveChanges (). Проблема в том, что когда я загружаю запись, она получает последнее значение rowversion, поэтому любая проверка параллелизма становится бесполезной.
Как я могу гарантировать, что при удалении записи выполняется проверка параллелизма?