У нас есть одна таблица в базе данных, которая представляет собой группу элементов div на нашей веб-странице. Каждый элемент div имеет ширину в пикселях, высоту, верх и слева сохраняется как отдельные записи в таблице. У него есть первичный ключ. Мы загружаем все div из таблицы на веб-страницу, пользователь реорганизует квадраты, а затем в одной транзакции сохраняет измененные квадраты обратно в таблицу, используя методы Linq "OnSubmit".
Наша проблема в том, что мы удаляем все квадраты, а затем снова вставляем все квадраты. Без транзакций это работает нормально. В случае транзакций он помечает все записи, которые должны быть удалены, затем вставки фактически обновляют записи, которые уже помечены для удаления. В конце концов, некоторые квадраты отсутствуют.
Мы выполняем DeleteOnSubmit (), затем InsertOnSubmit (), затем, в конечном итоге, .SubmitChanges ().
Где мы делаем нашу ошибку? Как вы справляетесь с удалением и повторной вставкой всех в одной транзакции? Очевидно, что мы могли бы SubmitChanges () после удаления, но это не поместило бы это в ту же самую транзакцию.
Есть идеи? Какие-нибудь образцы? Вам нужен реальный исходный код, чтобы продолжить?