如何在不使用LINQ循环的情况下删除实体框架中的多个记录?

时间:2010-05-24 14:38:50

标签: linq entity-framework multiple-entries

我想删除实体框架中的多个记录,而不使用for循环或使用LINQ的任何其他循环。我们可以在SQL中做到的是有什么方法可以删除实体框架中的多个记录吗?

3 个答案:

答案 0 :(得分:7)

使用Entity Framework不支持您要执行的操作。实体框架需要先将对象加载到内存中,然后才能删除它。这样它就可以进行乐观的并发检查。

如果您确实需要这个,则必须使用纯SQL或更好的方法执行此操作,使用存储过程。您可以使用Entity Framework调用存储过程。

答案 1 :(得分:2)

此链接可以帮助您: Bulk Delete with EF4

答案 2 :(得分:2)

using (var context = new DatabaseEntities())
{
    context.ExecuteStoreCommand("DELETE FROM YOURTABLE WHERE CustomerID = {0}", customerId);
}