J'ai une question qui est assez similaire à cette question:problème avec EDM dans ASP.NET MVC
Strongly-Typed ASP.NET MVC with Entity Framework
mais les solutions pour cette question ne fonctionne pas pour moi. Permettez-moi de commencer en disant que je ne connais pas grand chose au sujet dont je parle.
J'ai le code suivant
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(PaymentInformation paymentInformationToEdit, int pensionFundID)
{
var originalPaymentInformation = (from PIs in _db.PaymentInformation
where PIs.employeeNumber == paymentInformation.employeeNumber
select PIs).First();
var laborUnion = (from LUs in _db.LaborUnion
where LUs.laborUnionID = laborUnionID
select LUs)First();
paymentInformationToEdit.laborUnion = laborUnion;
_db.ApplyProperyChanges(originalPaymentInformation.EntityKey.EntitySetName, paymentInformationToEdit);
_db.SaveChanges();
}
Je reçois une erreur lorsque je tente de les ApplyProperyChanges disent: « L'objet existant dans le ObjectContext est dans l'état ajouté. Les modifications ne peuvent être appliquées que lorsque l'objet existant est dans un état inchangé ou modifié ».
Je ne sais pas comment changer l'état de l'un ou l'autre, ou même si je fais quelque chose de fondamentalement faux. Veuillez nous conseiller
EDIT: J'espère que c'est le chemin à parcourir ici sur stackoverflow. Je n'ai pas eu de réponse qui a résolu mon problème mais Gregoire ci-dessous a posté une solution possible que je n'ai pas comprise. J'espère que cette modification heurtera ma question pour que quelqu'un la voit et m'aide. Désolé si ce n'est pas le chemin à parcourir.
Je ne suis pas sûr que je comprends. J'ai essayé de faire: originalPaymentInformation.Employee = paymentInformationToEdit.Employee; mais cela me donne juste une erreur en disant 'Une violation de la contrainte d'intégrité référentielle s'est produite. Une propriété qui fait partie de la contrainte d'intégrité référentielle ne peut pas être modifiée lorsque l'objet a une clé non temporaire. Est-ce que je ne comprends pas votre réponse? – Mannsi