使用AutoMapper将DTO的对象图映射到EF实体

时间:2013-11-28 20:20:30

标签: entity-framework automapper dto identity-map

如果使用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映射到实体?

0 个答案:

没有答案