实体框架模型未正确更新

本文关键字:更新 框架 模型 实体 | 更新日期: 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);