我想删除实体框架中的多个记录,而不使用for循环或使用LINQ的任何其他循环。我们可以在SQL中做到的是有什么方法可以删除实体框架中的多个记录吗?
答案 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);
}