LINQ контекст SubmitChanges
Что касается порядка SubmitChanges (Вставить, Обновить, Удалить), есть ли способ изменить этот порядок? Мне нужно, чтобы сначала были выполнены удаления, любые обновления, а затем любые новые вставки. У меня есть сетка данных, где пользователь может делать все добавления, изменения и обновления и отправить. Поскольку в каждой строке сетки должен быть выбран уникальный элемент (с помощью раскрывающегося списка), пользователь может удалить строку, затем попытаться использовать удаленный раскрывающийся элемент в новой строке, затем попытаться обновить все изменения и сбой обновления (поскольку элемент, который пользователь хочет удалить, фактически существует в базе данных, потому что отправитель сначала выполняет вставки). Есть ли настройка, в которой я могу управлять автоматическим порядком обновлений, или я должен сам делать обновления вручную?
2 ответа
Я не пробовал это, но вы могли бы рассмотреть следующее. Во-первых, получить ChangeSet
с помощью DataContext.ChangeSet
, Затем бегите через ChangeSet.Deletes
призвание Table<T>.DeleteOnSubmit
на новом экземпляре вашего DataContext
, Промыть повторить для ChangeSet.Updates
и ChangeSet.Inserts
,
Удачи.
Я не верю, что это возможно. Вам нужно будет обработать изменения в нужном вам порядке и вызывать SubmitChanges() после каждой вставки, обновления или удаления. Если вы хотите, чтобы все это было в рамках транзакции, используйте объект TransactionScope.