Отображение графов объектов DTO в EF Entities с использованием AutoMapper
Насколько хорошо Entity Framework обнаруживает изменения, внесенные в объекты, если использовать инструмент, такой как AutoMapper, для перемещения данных DTO в объекты?
например
var existing = dbcontext.First(e => e.Id = dto.Id);
Mapper.Map(dto,existing);
Я знаю, что это хорошо работает для отдельных объектов или очень наивных примеров.
Но насколько хорошо он на самом деле играет, если есть реальный граф?
например
Предположим, у нас есть данные, подобные этим:
dtoOrder.detail[0].product = getSomeProduct();
var existing = dbcontext.First(e => e.Id = dtoOrder.Id);
Mapper.Map(dtoOrder,existing);
Я предполагаю, что EF будет думать, что новый продукт, присвоенный детали [0], является новым объектом? поскольку AutoMapper не будет знать, откуда взять эту сущность.
Итак, возможно ли использовать AutoMapper для безопасного двухстороннего отображения данных из DTO в Entities при работе с графами реальных объектов, а не только наивными примерами?