2016-05-16 1 views
0

Je travaille sur une API Web et AngularJS, j'ai un problème avec la méthode Put. Lorsque je souhaite mettre à jour une autre colonne, cela fonctionne correctement, mais si j'essaie de mettre à jour la colonne de la clé primaire (c'est-à-dire employeeID), cela échoue.Comment implémenter l'API Web Mettre le contrôleur à l'appui de la colonne clé primaire mise à jour (mise à jour en cascade)

Cependant dans la base de données, il permet la mise à jour en cascade. Comment puis-je améliorer la fonction Put à mettre à jour par employeeID?

// 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); 
    } 
} 

Merci!

+1

* Comment * échoue-t-il? Avez-vous un message d'erreur? Si oui: * quel * message d'erreur ?? S'il vous plaît poster ici - après tout, nous ne pouvons pas voir votre écran, ni lire votre esprit ... –

Répondre

0

Vérifiez si votre ID employé est auto-incrémenté. Si c'est le cas, il ne vous permettra pas d'insérer ou de mettre à jour ce champ spécifique.

+0

il n'est pas auto incrémentation !!! –

+0

ceci est l'erreur Une exception de type « System.Data.Entity.Infrastructure.DbUpdateConcurrencyException » a eu lieu en EntityFramework.dll mais n'a pas été traitée dans le code utilisateur Informations complémentaires: mise à jour Store, insertion ou de suppression affecté un nombre inattendu de lignes (0). Les entités peuvent avoir été modifiées ou supprimées depuis le chargement des entités. Voir http://go.microsoft.com/fwlink/?LinkId=472540 pour plus d'informations sur la compréhension et la gestion des exceptions d'accès concurrent optimistes. –

+0

Êtes-vous sûr que votre identifiant est également transmis? voir si ce lien aide http://stackoverflow.com/questions/26148793/how-to-solve-dbupdateconcurrencyexception-when-updating-a-row – Sl1ver