Как запустить массовое обновление / удаление запроса в 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, это кажется очень неэффективным способом выполнения задач. Есть ли какой-нибудь способ достичь желаемой цели, который будет запускать ровно один запрос?