Массовое удаление в LINQ to Entities

c# database entity-framework linq linq-to-entities

Вопрос

Есть ли способ массового удаления группы объектов, соответствующих заданному запросу, в LINQ или LINQ-to-Entities? Единственные ссылки, которые я могу найти, устарели, и кажется глупым перебирать и вручную удалять все объекты, которые я хочу удалить.

Принятый ответ

Вопрос старый (до того, как существовал EF5). Для тех, кто использует EF5 , EntityFramework.Extended делает это в одно мгновение.


Популярные ответы

Некоторое время назад я написал серию блогов из 4 частей (части 1 , 2 , 3 и 4 ), посвященную выполнению массовых обновлений (одной командой) в Entity Framework.

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

Так что вы должны быть в состоянии написать что-то вроде этого:

var query = from c in ctx.Customers
            where c.SalesPerson.Email == "..."
            select c;

query.Delete();

Все, что вам нужно сделать, это реализовать метод расширения Delete (). Смотрите серию постов для подсказок о том, как ...

Надеюсь это поможет



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow