问题出现了:是否有必要使用 PostgreSQL DBMS 有目的地更新 ASP .NET 项目中 CRUD 方法中的连接?
举个例子:我有一个实体“工坊”和“装备”,其连接为1到M。在创建装备时,我是否需要明确告诉商店更新装备列表?或者 EF Core 或 PostgreSQL 会为我做这件事吗?
工作坊精髓:
public int Id { get; set; }
public string Name { get; set; }
public virtual List<Machine>? Machines { get; set; }
实体机:
public int Id { get; set; }
public int WorkshopId { get; set; }
public string Name { get; set; }
public virtual Workshop Workshop{ get; set; }
创建设备时控制器中的方法:
public async Task Create(Machine machine)
{
if (ModelState.IsValid)
{
await _machineRepository.Create(machine);
//Нужно ли обновлять связь тут??
var entityWS = await _workshopRepository.GetById(machine.WorkshopId);
if (entityWS != null && entityWS.Machines != null)
{
entityWS.Machines.Add(machine);
await _workshopRepository.Update(entityWS);
}
var WS = await _workshopRepository.GetById(machine.WorkshopId);
return RedirectToAction(nameof(Index));
}
return View(machine);
}