Heim >Backend-Entwicklung >C++ >Wie kann in Entity Framework 6 das Problem behoben werden, dass die Anweisung „Speicheraktualisierung, -einfügung oder -löschung eine unerwartete Anzahl von Zeilen beeinträchtigt' hat?
Beim Versuch, einen Datensatz mit Entity Framework 6 zu aktualisieren, tritt möglicherweise der Fehler „Aktualisierung speichern, einfügen oder“ auf Die Löschanweisung hat eine unerwartete Anzahl von Zeilen beeinflusst.“ Dieser Fehler tritt auf, weil der Datensatz seit dem ersten Laden in den Kontext möglicherweise geändert oder gelöscht wurde.
Um dieses Problem zu beheben, können Sie den folgenden Ansatz verwenden:
Hier ist ein aktualisiertes Codebeispiel, das diesen Ansatz demonstriert:
using (var db = new MyContextDB()) { var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber); if (result != null) { result.SomeValue = "Some new value"; db.SaveChanges(); } }
Dies Der aktualisierte Code ruft den Datensatz ab, weist den neuen Wert der entsprechenden Eigenschaft zu und speichert dann die Änderungen. Indem Sie den abgerufenen Datensatz direkt ändern, vermeiden Sie die Notwendigkeit, ihn explizit anzuhängen oder den Entitätsstatus festzulegen, wodurch die Parallelitätsausnahme aufgelöst wird.
Das obige ist der detaillierte Inhalt vonWie kann in Entity Framework 6 das Problem behoben werden, dass die Anweisung „Speicheraktualisierung, -einfügung oder -löschung eine unerwartete Anzahl von Zeilen beeinträchtigt' hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!