Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to delete multiple records in entity framework without looping using LINQ?

I want to delete multiple records in entity framework without using a for loop or any other loop using LINQ. Something that we can do it in SQL is there any way to delete multiple records in entity framework?

like image 869
Vishal Avatar asked May 24 '10 14:05

Vishal


2 Answers

What you want to do is not supported using Entity Framework. Entity Framework needs to load an object into memory, before you can delete it. This way it can do its optimistic concurrency checks.

If you really need this, you will have to do this with pure SQL or better, use a stored procedure. You can call your stored procedure with Entity Framework.

like image 51
Steven Avatar answered Oct 03 '22 14:10

Steven


using (var context = new DatabaseEntities())
{
    context.ExecuteStoreCommand("DELETE FROM YOURTABLE WHERE CustomerID = {0}", customerId);
}
like image 37
Vlad Bezden Avatar answered Oct 03 '22 15:10

Vlad Bezden