Wie löst man DbUpdateConcurrencyException beim Aktualisieren einer Zeile?

8

Ich verwende den Entity Framework Code First Approach für eine ASP.NET MVC-Anwendung. Nach dem Bearbeiten einer Zeile beim Absenden zum Speichern der Änderung erhalte ich den folgenden Fehler für die HTTP-Post-Methode.

  

Eine Ausnahme vom Typ   'System.Data.Entity.Infrastructure.DbUpdateConcurrencyException'   in EntityFramework.dll aufgetreten, wurde aber nicht im Benutzercode behandelt.

Dieser Fehler tritt bei db.SaveChanges () auf.

%Vor%

Hauptcode:

%Vor%     
Amit Hasan 01.10.2014, 19:10
quelle

1 Antwort

8

Ich habe die Antwort gefunden. Ich habe nicht übergeben ID-Wert für Http Post Aktionsmethode.

Wie in diesem Link angegeben

  

Ausnahme von DbContext geworfen, wenn es wurde erwartet, dass Savechanges für eine Entität in einem Datenbank-Update führen würde, aber in der Tat keine Zeilen in der Datenbank betroffen waren.

In meinem Fall ist die obige Aussage wahr, weil ich versucht habe, eine Zeile zu aktualisieren, aber ohne ID wurde keine Zeile aktualisiert. Daher die Ausnahme.

Dies kann mit einem versteckten Eingabeelement geschehen, das die ID enthält. Der folgende Code zeigt, wie man es in Edit.cshtml macht -

%Vor%     
Amit Hasan 01.10.2014 19:11
quelle

Tags und Links