Как выполнить массовое удаление с помощью Entity Framework? - PullRequest
1 голос
/ 13 октября 2010

Как удалить несколько объектов без цикла?В настоящее время у меня есть:

 Dim itemsToDelete As List(Of Item) = (From t In _entities.Item _
                                            Where t.Column = columnValue).ToList

 For Each item In itemsToDelete
      _entities.DeleteObject(item)
 Next

 _entities.SaveChanges()

1 Ответ

3 голосов
/ 13 октября 2010

Одно слово: НЕ!

Любые типичные ORM - будь то Linq-to-SQL, NHibernate, Entit Framework и любые другие - отлично подходят для обработки одного или нескольких объектов.*

Существуют , а не , однако, предназначенные или оптимизированные для массовых операций .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...