【发布时间】:2021-01-24 13:04:32
【问题描述】:
我是 ASP.NET Core 5 MVC 应用程序的新手。我在我的应用程序中添加了 3 个模型。它们是Trip、Vehicle 和Driver。
Vehicle 有 LastTripDateTime、TotalTravelDistanceInKilometers、AverageFuelConsumptionInLitres。
Driver 有 UsedVehicleCount。
当在Trip 模型中添加新记录或更改任何记录时,我必须从Vehicle 和Driver 更改这些值。
我该怎么做?这些动作应该在哪里,我需要使用哪些方法?
我有控制器和视图。 CRUD 选项可用。我修改了 Trip 的基本脚手架创建操作,如下所示。这行得通吗?
// POST: Trips/Create
// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("TripId,VehicleId,DriverId,DistanceInKilometers,FuelConsumptionInLitres")] Trip trip)
{
if (ModelState.IsValid)
{
_context.Add(trip);
Driver driver = _context.Find<Driver>(trip.DriverId);
driver.UsedVehicleCount += 1;
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(trip);
}
【问题讨论】:
标签: c# entity-framework-core asp.net-core-mvc .net-5