实体框架模型未正确更新
本文关键字:更新 框架 模型 实体 | 更新日期: 2023-09-27 18:34:26
我的控制器中有一个方法,旨在检查是否经过了一定的时间,如果是,则更新模型属性并将其保存到数据库中。但是该模型没有更新,我不确定为什么,如果有人可以提供任何建议?谢谢!当前,订单正在从数据库中删除,但 eventDetails.TicketsRemaining 未更改。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Charge(SummaryVm summaryVm)
{
if (checkDateTime(summaryVm.orderDate))
{
//do something
}else{
// get the event being booked from db based on the ID
Event eventDetails = _eventRepository.GetByID(summaryVm.eventID);
// get the order being processed from db based on the ID
Order thisOrder = db.Orders.Find(summaryVm.orderID);
//update the number of tickets remaining for event returning the number of tickets requested to the available tickets
eventDetails.TicketsRemaining += summaryVm.ticketQuantity;
//remove order from db as payment was not received and order was not processed
db.Orders.Remove(thisOrder);
//save these db changes
db.SaveChanges();
return RedirectToAction("TimeOut", new { id = summaryVm.eventID });
}
}
_eventRepository.SaveChanges()
你的代码很奇怪,因为你正在混合设计模式......
如果创建了_eventRepository,则 db 不应存在
您已经创建了两个上下文..,并且您没有将保存更改提交到您更改数据的上下文中。
或者
你可以通过做来修复
Event eventDetails = db.Events.GetByID(summaryVm.eventID);