Delete a single record from Entity Framework? Delete a single record from Entity Framework? sql-server sql-server

Delete a single record from Entity Framework?


It's not necessary to query the object first, you can attach it to the context by its id.Like this:

var employer = new Employ { Id = 1 };ctx.Employ.Attach(employer);ctx.Employ.Remove(employer);ctx.SaveChanges();

Alternatively, you can set the attached entry's state to deleted :

var employer = new Employ { Id = 1 };ctx.Entry(employer).State = EntityState.Deleted;ctx.SaveChanges();


You can use SingleOrDefault to get a single object matching your criteria, and then pass that to the Remove method of your EF table.

var itemToRemove = Context.Employ.SingleOrDefault(x => x.id == 1); //returns a single item.if (itemToRemove != null) {    Context.Employ.Remove(itemToRemove);    Context.SaveChanges();}


  var stud = (from s1 in entities.Students            where s1.ID== student.ID            select s1).SingleOrDefault();  //Delete it from memory  entities.DeleteObject(stud);  //Save to database  entities.SaveChanges();