如何使用Entity Framework执行批量删除?

时间:2010-10-12 20:26:21

标签: entity-framework

如何在没有循环的情况下删除多个实体?目前,我有:

 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 个答案:

答案 0 :(得分:3)

一个字:不要!

任何典型的ORM - 无论是Linq-to-SQL,NHibernate,Entit Framework还是其他任何一个 - 都非常适合处理单个或几个对象。

但是为批量处理设计或优化。

如果需要删除数百或数千行:使用直接SQL - 作为临时SQL查询或作为存储过程。这样做会更容易,也更有效率。