news - automapper nuget
Mapeo bidireccional de AutoMapper (4)
¡Gran idea Eric! He agregado un valor de retorno, por lo que la asignación inversa también es configurable.
public static class AutoMapperExtensions
{
public static IMappingExpression<TDestination, TSource> Bidirectional<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression)
{
return Mapper.CreateMap<TDestination, TSource>();
}
}
Si quiero hacer un mapeo bidireccional, ¿necesito crear dos mapeos?
Mapper.CreateMap<A, B>() and Mapper.CreateMap<B, A>()
?
Esto ahora está cocido en AutoMapper
Mapper.CreateMap<SourceType, DestType>().ReverseMap();
Sí, pero si te encuentras haciendo esto a menudo:
public static class AutoMapperExtensions
{
public static void Bidirectional<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression)
{
Mapper.CreateMap<TDestination, TSource>();
}
}
entonces:
Mapper.CreateMap<A, B>().Bidirectional();
Sí, porque si cambia el tipo de alguna propiedad (por ejemplo, DateTime -> string) no es bidireccional (deberá indicar a Automapper cómo convertir string -> DateTime).