Estoy creando una asignación de Automapper entre mi AccountEditViewModel
(Ver modelo utilizado para editar un usuario) y mi User
(Modelo de datos que representa un usuario en la base de datos). Si el campo de contraseña está lleno, quiero encriptar esa contraseña y almacenarla; sin embargo, si es nula, quiero conservar la contraseña anterior. He intentado el código a continuación, pero está mal, model.Ignore() no devuelve un valor de cadena. ¿Cuál es la mejor manera de resolver esto? ¿Puedo lograr esto usando el método ForMember()
o necesito una resolución personalizada?C# Automapper Ignorar propiedad cuando nulo
Mapper.CreateMap<AccountEditViewModel, User>()
.ForMember(model => model.Password, model => model.MapFrom(user => user.Password != null ? EncryptPassword(user.Password) : model.Ignore()));
es necesario agregar un ForMember (modelo => model.Password, modelo => model.Ignore()) antes de la AfterMap() llama al asignador ya no es manejo de la asignación –
Esto no funciona cuando se usan expresiones de LinQ del Automapper. – AgentFire