Функция Linq SubmitChanges() - когда вызывать?
Как часто нужно вызывать метод SubmitChanges() при работе с данными с помощью Linq?
В моем проекте есть несколько таблиц, связанных с внешними ключами. В SQL создания эти внешние ключи ограничены, поэтому запись, являющуюся частью отношения, не может быть удалена без предварительного удаления зависимых записей.
Следовательно, существует определенный порядок, в котором записи в отношении должны быть удалены. Придется ли мне удалять каждую запись и выполнять функцию SubmitChanges() в базе данных каждый раз, или я могу выполнить все удаления за один раз?
РЕДАКТИРОВАТЬ: Мой главный вопрос: удаляются ли записи на SubmitChanges() в том же порядке, как вы удаляете их в коде?
2 ответа
Вы должны попытаться вызвать его как можно меньше, но есть известная проблема с Linq2SQL, когда у вас есть вставка и удаление, которая эффективно заменяет сущность. В этих случаях лучше всего вызывать его как можно скорее после удаления и последующей вставки.
Вот аналогичный вопрос, который я задал некоторое время назад.
Если вам нужно удалить как пакет, например, одну транзакцию, вы должны вызывать метод SubmitChanges только один раз, когда вы отметили все объекты, которые должны быть удалены.