¡Llamando a todos los gurús de AutoMapper!AutoMapper Cómo asignar el objeto A al objeto B de forma diferente según el contexto
Me gustaría poder asignar el objeto A al objeto B de forma diferente según el contexto en el tiempo de ejecución. En particular, me gustaría ignorar ciertas propiedades en un caso de mapeo, y tener todas las propiedades mapeadas en otro caso.
Lo que estoy experimentando es que Mapper.CreateMap se puede llamar con éxito en los diferentes casos de mapeo; sin embargo, una vez que se llama CreateMap, se establece el mapa para un par particular de tipos y no se cambia posteriormente mediante llamadas a CreateMap podría describir el mapeo de manera diferente.
Encontré una publicación de blog que recomienda Mapper.Reset() para eludir el problema, sin embargo, la naturaleza estática de la clase Mapper significa que es solo cuestión de tiempo antes de que ocurra una colisión y un bloqueo.
¿Hay alguna manera de hacerlo?
Lo que creo que necesito es llamar a Mapper.CreateMap una vez por appdomain, y luego, poder llamar a Mapper.Map con pistas sobre qué propiedades deben incluirse/excluirse.
En este momento, estoy pensando en cambiar el código fuente escribiendo una clase de asignación no estática que contiene la instancia de configuración de asignación basada. Pobre rendimiento, pero seguro para subprocesos.
¿Cuáles son mis opciones? ¿Qué se puede hacer? Automapper parece tan prometedor.
@Omu: Usted y su "ValueInjecter" comienzan a ser muy molestos. No tiene que responder cada pregunta de AutoMapper con su complemento para ValueInjecter (si no fuera ValueInjector). Estoy personalmente desconectado por esto, y ni siquiera lo miraría debido a tus tácticas. Simplemente no es un hombre profesional. – epitka