У меня есть модель оплаты с логическим значением «Status», значение которого по умолчанию равно false. После того, как платеж был сделан, мне нужно обновить статус «Статус» конкретного платежа до значения true.Обновление записи базы данных MVC Entity Framework
Вот код, который я пытался использовать для изменения конкретной записи в базе данных, но это просто не меняет его. Что я делаю не так?
Payment payment = new Payment();
payment = db.Payments.Find(orderId);
db.Entry(payment).State = EntityState.Modified;
payment.Status = true;
db.SaveChanges();
Спасибо!
Это то, что в конечном итоге работает:
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();
}
Является ли db.Payments.Find (orderId), вы получаете платеж? –
Да, orderId должен определить, какой платеж следует изменить (orderId совпадает с идентификатором платежа, который был создан при вводе платежной записи). – Pierre
Какую версию рамки сущности вы используете? –