【发布时间】:2020-05-08 09:19:21
【问题描述】:
我想知道更新从数据库中检索到的实体的最佳方式。 前端请求更新实体,发送包含实体 id 以及一些字段的 DTO。 然后有了这个Id,我在DB中寻找实体,问题来了:
我想更新在 DTO 中设置的实体的字段,并保留其他字段。 显然,我可以逐个字段地明确地做到这一点,但我想知道一种最佳实践,以通用方式对 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 和模型之间的映射?我虽然想使用反射,但我不知道是否有更好、更优雅和标准的方法来做到这一点。
谢谢
【问题讨论】:
标签: c# asp.net-core entity-framework-6 dto