2016-05-16 7 views
0

ich auf einem Web-API und AngularJS arbeite ich mit dem Put Verfahren ein Problem habe. Wenn ich eine andere Spalte aktualisieren möchte, funktioniert es einwandfrei, aber wenn ich versuche, die Primärschlüsselspalte zu aktualisieren (d. H. employeeID), schlägt sie fehl.Wie die Web-API-Put-Controller implementieren Primärschlüsselspalten aktualisiert (Cascading Update) zu unterstützen

jedoch in der Datenbank ermöglicht es Update kaskadieren. Wie kann ich die Put Funktion zur Aktualisierung um employeeID verbessern?

// PUT: api/Employee/5 
public HttpResponseMessage Put(Employee emp) 
{ 
    if (ModelState.IsValid) 
    { 
     this.emp.Entry(emp).State = EntityState.Modified; 
     this.emp.SaveChanges(); 

     HttpResponseMessage res = Request.CreateResponse(HttpStatusCode.OK, emp); 
     return res; 
    } 
    else 
    { 
     return Request.CreateResponse(HttpStatusCode.BadRequest, emp); 
    } 
} 

Danke !!

+1

* Wie * scheitert es? Erhalten Sie eine Fehlermeldung? Wenn ja: * Was * Fehlermeldung? Bitte posten Sie es hier - schließlich können wir Ihren Bildschirm nicht sehen, noch Ihre Gedanken lesen ... –

Antwort

0

Überprüfen Sie, ob Ihr employeeID Autoinkrement ist. Wenn es dann ist, wird es Ihnen nicht erlauben, dieses spezifische Feld einzufügen oder zu aktualisieren.

+0

es ist nicht automatisch inkrementieren !!! –

+0

dies ist der Fehler Eine Ausnahme vom Typ ‚System.Data.Entity.Infrastructure.DbUpdateConcurrencyException‘ aufgetreten in EntityFramework.dll wurde aber in Benutzercode Zusätzliche Informationen nicht behandelt: Shop aktualisieren, einfügen oder löschen Anweisung ein betroffener unerwartete Anzahl von Zeilen (0). Entitäten wurden möglicherweise geändert oder gelöscht, seit Entitäten geladen wurden. Informationen zum Verständnis und zur Handhabung optimistischer Parallelitätsausnahmen finden Sie unter http://go.microsoft.com/fwlink/?LinkId=472540. –

+0

Sind Sie sicher, dass Ihre ID auch durchgereicht wird? Sehen Sie, ob dieser Link http://stackoverflow.com/questions/26148793/how-to-solve-dbupdateconcurrencyexception-when-updating-a-row hilft – Sl1ver