Automapper: actualiza los valores de propiedad sin crear un nuevo objeto

¿Cómo puedo usar Automapper para actualizar los valores de las propiedades de otro objeto sin crear uno nuevo?

Use la sobrecarga que toma el destino existente:

Mapper.Map(source, destination); 

Sí, devuelve el objeto de destino, pero eso es solo para algunos otros escenarios oscuros. Es el mismo objeto.

Para que esto funcione, debe crear mapas para los tipos de origen y destino, incluso si son del mismo tipo. Eso significa que si quiere Mapper.Map(user1, user2); Necesita crear un mapa como este Mapper.Create()

Si desea utilizar un método de instancia de IMapper, en lugar del método estático utilizado en la respuesta aceptada, puede hacer lo siguiente (probado en AutoMapper 6.2.2 )

 IMapper _mapper; var config = new MapperConfiguration(cfg => { cfg.CreateMap(); }); _mapper = config.CreateMapper(); Source src = new Source { //initialize properties } Destination dest = new dest { //initialize properties } _mapper.Map(src, dest); 

dest ahora se actualizará con todos los valores de propiedad de src que compartió. Los valores de sus propiedades únicas seguirán siendo los mismos.

Aquí está el código fuente relevante