Search code examples
c#sql-serverentity-framework

Delete a single record from Entity Framework?


I have a SQL Server table in Entity Framework named employ with a single key column named ID.

How do I delete a single record from the table using Entity Framework?


Solution

  • 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();