LINQ контекст SubmitChanges

Что касается порядка SubmitChanges (Вставить, Обновить, Удалить), есть ли способ изменить этот порядок? Мне нужно, чтобы сначала были выполнены удаления, любые обновления, а затем любые новые вставки. У меня есть сетка данных, где пользователь может делать все добавления, изменения и обновления и отправить. Поскольку в каждой строке сетки должен быть выбран уникальный элемент (с помощью раскрывающегося списка), пользователь может удалить строку, затем попытаться использовать удаленный раскрывающийся элемент в новой строке, затем попытаться обновить все изменения и сбой обновления (поскольку элемент, который пользователь хочет удалить, фактически существует в базе данных, потому что отправитель сначала выполняет вставки). Есть ли настройка, в которой я могу управлять автоматическим порядком обновлений, или я должен сам делать обновления вручную?

2 ответа

Я не пробовал это, но вы могли бы рассмотреть следующее. Во-первых, получить ChangeSet с помощью DataContext.ChangeSet, Затем бегите через ChangeSet.Deletes призвание Table<T>.DeleteOnSubmit на новом экземпляре вашего DataContext, Промыть повторить для ChangeSet.Updates и ChangeSet.Inserts,

Удачи.

Я не верю, что это возможно. Вам нужно будет обработать изменения в нужном вам порядке и вызывать SubmitChanges() после каждой вставки, обновления или удаления. Если вы хотите, чтобы все это было в рамках транзакции, используйте объект TransactionScope.

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