J'ai une table SQL Server dans Entity Framework nommée employ
avec une seule colonne clé nommée ID
.
Comment supprimer un seul enregistrement de la table en utilisant Entity Framework ?
J'ai une table SQL Server dans Entity Framework nommée employ
avec une seule colonne clé nommée ID
.
Comment supprimer un seul enregistrement de la table en utilisant Entity Framework ?
Il n'est pas nécessaire d'interroger l'objet au préalable, vous pouvez l'attacher au contexte par son id. Comme ceci :
var employer = new Employ { Id = 1 };
ctx.Employ.Attach(employer);
ctx.Employ.Remove(employer);
ctx.SaveChanges();
Vous pouvez également définir l'état de l'entrée jointe comme étant supprimée :
var employer = new Employ { Id = 1 };
ctx.Entry(employer).State = EntityState.Deleted;
ctx.SaveChanges();
Vous pouvez utiliser SingleOrDefault
pour obtenir un seul objet correspondant à vos critères, puis le passer à l'option 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();
}
J'utilise le cadre d'entités avec LINQ. Le code suivant m'a été utile ;
1- Pour les enregistrements multiples
using (var dbContext = new Chat_ServerEntities())
{
var allRec= dbContext.myEntities;
dbContext.myEntities.RemoveRange(allRec);
dbContext.SaveChanges();
}
2- Pour un enregistrement unique
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();
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.