Я хотел бы знать, как лучше всего обновить Entity, полученный из БД. Внешний интерфейс запрашивает обновление для объекта, отправляя DTO, который содержит идентификатор объекта, а также некоторые поля. Затем с этим идентификатором я ищу объект в БД, и здесь возникает вопрос:
Я хочу обновить поля объекта, которые установлены в DTO, и сохранить другие поля. Очевидно, я могу сделать это явно, поле за полем, но я хотел бы знать, как лучше всего делать это общим c способом для всех свойств DTO.
Код будет выглядеть так: :
[HttpPut]
public IActionResult Put([FromBody]PersonDTO pDTO) {
Person p = GetPersonById(pDTo.IdPerson);
p.Name = pDTO.Name;
p.Address = pDTO.Address;
// and 100 more fields
_context.SaveChanges();
}
Как мне избежать сопоставления между DTO и моделью? Я думал об использовании отражения, но не могу понять, есть ли лучший, более элегантный и стандартный способ сделать это.
Спасибо