valores una mvc modificar lista inicializar example eliminar elemento ejemplo campo agregar actualizar c# .net automapper

c# - una - Automapper: actualiza los valores de las propiedades sin crear un nuevo objeto



inicializar automapper c# (3)

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


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


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<Source, Destination>(); }); _mapper = config.CreateMapper(); Source src = new Source { //initialize properties } Destination dest = new dest { //initialize properties } _mapper.Map(src, dest);

dest se actualizará ahora 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


Utiliza la sobrecarga que lleva al destino existente:

Mapper.Map<Source, Destination>(source, destination);

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