Ich habe ein Zahlungsmodell mit einem booleschen Wert 'Status', der standardmäßig auf 'false' gesetzt ist. Sobald die Zahlung erfolgt ist, muss der Status dieser bestimmten Zahlung auf "wahr" gesetzt werden.Aktualisieren des Datenbankeintrags MVC Entity Framework
Hier ist der Code, den ich versucht habe, den spezifischen Datenbankeintrag zu ändern, aber er ändert ihn einfach nicht. Was mache ich falsch?
Payment payment = new Payment();
payment = db.Payments.Find(orderId);
db.Entry(payment).State = EntityState.Modified;
payment.Status = true;
db.SaveChanges();
Vielen Dank!
Dies ist, was Arbeits endete:
using (var con = new ApplicationDbContext())
{
payment = con.Payments.First(x => x.Id == orderId);
payment.Status = true;
con.Payments.Attach(payment);
var entry = con.Entry(payment);
entry.Property(e => e.Status).IsModified = true;
con.SaveChanges();
}
Gibt db.Payments.Find (orderId) eine Zahlung zurück? –
Ja, die orderId gibt an, welche Zahlung geändert werden soll (die orderId ist identisch mit der Zahlungs-ID, die bei der Zahlungserfassung erstellt wurde). – Pierre
Welche Version des Entity-Frameworks verwenden Sie? –