对于这种情况,您有两种解决方案。
编写一个SQL语句,直接更新数据库,而不必经过UnitOfWork。我不建议这样做,因为这种情况并不特别。你的工作单位
处理这个。
解决方案2:
第一步:
第二步:
示例代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UpdateBooking([DataSourceRequest] DataSourceRequest request, Car car, Booking booking, CarBookings vm)
{
int carId = unitOfWork.CarRepository.Update(car);
booking.Car_Id = carId;
unitOfWork.BookingRepository.Update(booking);
unitOfWork.Save();
return Json(new[] { vm }.ToDataSourceResult(request, ModelState));
}
既然你问我如何只更新被改变的数据。我会给你一些步骤。
从UnitOfWork获取对象。
第二步:
更新已更新的属性。
public void UpdateBooking(Booking updatingBooking)
{
**INIT UNIT OF WORK**
Booking bookingInDb=unitOfWork.BookingRepository.Find(updatingBooking.Id);
bookingInDb.BookingStart=updatingBooking.BookingStart;
unitOfWork.BookingRepository.Update(bookingInDb);
unitOfWork.Save();
}