Функция Linq SubmitChanges() - когда вызывать?

Как часто нужно вызывать метод SubmitChanges() при работе с данными с помощью Linq?

В моем проекте есть несколько таблиц, связанных с внешними ключами. В SQL создания эти внешние ключи ограничены, поэтому запись, являющуюся частью отношения, не может быть удалена без предварительного удаления зависимых записей.

Следовательно, существует определенный порядок, в котором записи в отношении должны быть удалены. Придется ли мне удалять каждую запись и выполнять функцию SubmitChanges() в базе данных каждый раз, или я могу выполнить все удаления за один раз?

РЕДАКТИРОВАТЬ: Мой главный вопрос: удаляются ли записи на SubmitChanges() в том же порядке, как вы удаляете их в коде?

2 ответа

Решение

Вы должны попытаться вызвать его как можно меньше, но есть известная проблема с Linq2SQL, когда у вас есть вставка и удаление, которая эффективно заменяет сущность. В этих случаях лучше всего вызывать его как можно скорее после удаления и последующей вставки.

Вот аналогичный вопрос, который я задал некоторое время назад.

Если вам нужно удалить как пакет, например, одну транзакцию, вы должны вызывать метод SubmitChanges только один раз, когда вы отметили все объекты, которые должны быть удалены.

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