Как запустить массовое обновление / удаление запроса в Linq?

У меня есть 2 класса Linq2Sql:Parent а такжеChild, Я хочу сделать такие вещи, как удаление всех дочерних элементов для родителей или обновление всех дочерних записей. В SQL я бы написал:

delete Child where ParentID = @p

или же

update Child set Val = Val+1 where ParentID = @p

Я могу сделать это в Линк грубой силы пути внутриParent класс:

Children.ToList().ForEach(c => c.DeleteOnSubmit()); // DeleteOnSubmit is my own method

а также

Children.ToList().ForEach(c => c.Val++);

Но, учитывая присущие Linq потери производительности в циклах ForEach, это кажется очень неэффективным способом выполнения задач. Есть ли какой-нибудь способ достичь желаемой цели, который будет запускать ровно один запрос?

Ответы на вопрос(5)

Ваш ответ на вопрос