Saltar al contenido

¿Cómo configurar el mapeo condicional en AutoMapper?

Hola usuario de nuestro sitio, hemos encontrado la solución a lo que andabas buscando, desplázate y la encontrarás aquí.

Solución:

Prueba esto

 Mapper.CreateMap()
        .ForMember(dest => dest.Value, 
                   opt => opt.MapFrom
                   (src => src.Value1.StartsWith("A") ? src.Value1 : src.Value2));

La opción de condición se usa para agregar condiciones a las propiedades que deben cumplirse antes de que se asigne esa propiedad y la opción MapFrom se usa para realizar asignaciones personalizadas de miembros de origen/destino.

Con la asignación condicional, solo puede configurar cuándo debe ejecutarse la asignación para la propiedad de destino especificada.

Por lo tanto, significa que no puede definir dos asignaciones con diferentes condiciones para la misma propiedad de destino.

Si tiene una condición como “si la condición es true luego use PropertyA; de lo contrario, use PropertyB”, entonces debería hacerlo como “Tejal” escribió:

opt.MapFrom(src => src.Value1.StartsWith("A") ? src.Value1 : src.Value2)

AutoMapper le permite agregar condiciones a las propiedades que deben cumplirse antes de que se mapee esa propiedad.

Estaba haciendo el mapeo con algunas condiciones de enumeración, mire que es poco esfuerzo para la comunidad de mi parte.

}

.ForMember(dest => dest.CurrentOrientationName, 
             opts => opts.MapFrom(src => src.IsLandscape? 
                                        PageSetupEditorOrientationViewModel.Orientation.Landscape : 
                                        PageSetupEditorOrientationViewModel.Orientation.Portrait));

Puedes apoyar nuestro estudio añadiendo un comentario y puntuándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *