如果使用AutoMapper等工具将DTO数据移动到实体中,Entity Framework在检测对象所做的更改方面有多好?
e.g。
var existing = dbcontext.First(e => e.Id = dto.Id);
Mapper.Map(dto,existing);
我知道这适用于单个对象或非常天真的例子。
但如果有真实的图表,它实际上有多好?
e.g。
让我们假设我们有这样的数据:
dtoOrder.detail[0].product = getSomeProduct();
var existing = dbcontext.First(e => e.Id = dtoOrder.Id);
Mapper.Map(dtoOrder,existing);
我假设EF会认为分配给detail [0]的新产品是新对象吗? 因为AutoMapper不知道从哪里获得该实体。
那么,在使用真实对象图而不仅仅是天真的例子时,是否可以使用AutoMapper安全地将数据从DTO映射到实体?