Maison >développement back-end >C++ >Comment résoudre « L'instruction de mise à jour, d'insertion ou de suppression du magasin a affecté un nombre inattendu de lignes » dans Entity Framework 6 ?
Lorsque vous tentez de mettre à jour un enregistrement à l'aide d'Entity Framework 6, vous pouvez rencontrer l'erreur « Store update, insert, or L'instruction delete a affecté un nombre inattendu de lignes." Cette erreur se produit car l'enregistrement a peut-être été modifié ou supprimé depuis son chargement initial dans le contexte.
Pour résoudre ce problème, vous pouvez utiliser l'approche suivante :
Voici un exemple de code mis à jour qui illustre cette approche :
using (var db = new MyContextDB()) { var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber); if (result != null) { result.SomeValue = "Some new value"; db.SaveChanges(); } }
Ce code mis à jour récupère l'enregistrement, affecte la nouvelle valeur à la propriété appropriée, puis enregistre les modifications. En modifiant directement l'enregistrement récupéré, vous évitez d'avoir à le joindre explicitement ou à définir l'état de l'entité, résolvant ainsi l'exception de concurrence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!