varios update remove registros registro query insertar framework eliminar delete datos como actualizar c# sql-server entity-framework

update - query entity framework c#



¿Eliminar un solo registro de Entity Framework? (7)

Aplicación más genérica

public virtual void Delete<T>(int id) where T : BaseEntity, new() { T instance = Activator.CreateInstance<T>(); instance.Id = id; if (dbContext.Entry<T>(entity).State == EntityState.Detached) { dbContext.Set<T>().Attach(entity); } dbContext.Set<T>().Remove(entity); }

Tengo una tabla de SQL Server en Entity Framework nombrada employ con una sola columna de clave llamada ID .

¿Cómo elimino un solo registro de la tabla usando Entity Framework?


Estoy usando el marco de entidad con LINQ. El siguiente código fue útil para mí;

1- Para registros múltiples

using (var dbContext = new Chat_ServerEntities()) { var allRec= dbContext.myEntities; dbContext.myEntities.RemoveRange(allRec); dbContext.SaveChanges(); }

2- Para registro individual

using (var dbContext = new Chat_ServerEntities()) { var singleRec = dbContext.ChatUserConnections.FirstOrDefault( x => x.ID ==1);// object your want to delete dbContext.ChatUserConnections.Remove(singleRec); dbContext.SaveChanges(); }


No es necesario consultar el objeto primero, puede adjuntarlo al contexto por su id. Me gusta esto:

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

Alternativamente, puede configurar el estado de la entrada adjunta a eliminado:

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


Puede usar SingleOrDefault para obtener un solo objeto que coincida con sus criterios, y luego pasarlo al método Remove de su tabla EF.

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


[HttpPost] public JsonResult DeleteCotnact(int id) { using (MycasedbEntities dbde = new MycasedbEntities()) { Contact rowcontact = (from c in dbde.Contact where c.Id == id select c).FirstOrDefault(); dbde.Contact.Remove(rowcontact); dbde.SaveChanges(); return Json(id); } }

¿Qué piensas de esto, simple o no, también puedes probar esto?

var productrow = cnn.Product.Find(id); cnn.Product.Remove(productrow); cnn.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();


Employer employer = context.Employers.First(x => x.EmployerId == 1); context.Customers.DeleteObject(employer); context.SaveChanges();