8

我想在不使用 for 循环或任何其他使用 LINQ 的循环的情况下删除实体框架中的多条记录。我们可以在 SQL 中执行的操作有什么方法可以删除实体框架中的多条记录?

4

2 回答 2

7

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

如果你真的需要这个,你将不得不使用纯 SQL 或更好的方法,使用存储过程。您可以使用实体框架调用您的存储过程。

于 2010-05-24T16:11:19.260 回答
2
using (var context = new DatabaseEntities())
{
    context.ExecuteStoreCommand("DELETE FROM YOURTABLE WHERE CustomerID = {0}", customerId);
}
于 2011-07-07T18:11:26.090 回答