La opción Ignorar de Automapper establece la propiedad de destino en NULL

En mi Global.asax:

        AutoMapper.Mapper.CreateMap<ViewModel, DataType>()
            .ForMember(dest => dest.User, opt => opt.Ignore());

En mi acción MVC:

        AutoMapper.Mapper.Map(viewmodel, data);

Antes de llamar a la función Map(), data.User no es nulo. Inmediatamente después de llamar a Map(), data.User ahora es nulo, sin embargo, si entiendo correctamente, Ignore() debería ignorar por completo esa propiedad y dejarla intacta. ¿Alguna idea de lo que podría estar causando esto?

preguntado el 22 de mayo de 12 a las 17:05

1 Respuestas

Claramente no di suficiente información para que nadie pudiera resolver esto.

Mi problema ocurrió porque mi modelo de datos es una entidad EF4 y mi modelo de vista tenía una asignación a una clave externa que estaba asignada al objeto de usuario mencionado anteriormente. Una vez que llamamos a Map(), restablece la entidad de Usuario a nulo. Una vez que eliminé esta propiedad de mi ViewModel, todo comenzó a funcionar como se esperaba.

contestado el 22 de mayo de 12 a las 17:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.