Supprimer un seul logging d'Entity Framework?

(Reformulé)

J'ai une table SQL Server dans Entity Framework nommée employ avec une seule colonne key nommée ID .

Comment supprimer un logging de la table à l'aide d'Entity Framework?

Il n'est pas nécessaire d'interroger l'object en premier, vous pouvez l'attacher au context par son identifiant. Comme ça:

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

Alternativement, vous pouvez définir l'état de l'input attachée à supprimer * Merci à Simon Belanger *:

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

Vous pouvez utiliser SingleOrDefault pour get un seul object correspondant à vos critères, puis passer à la méthode Remove de votre table EF.

 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).FirstOrDefault(); //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(); 

J'utilise le framework d'entité avec LINQ. Le code suivant m'a été utile;

1- Pour plusieurs loggings

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

2- Pour un logging unique

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