net mvc example collection automapper

mvc - automapper net core



Automapper ResolveUsing o MapFrom (1)

Tengo una definición de mapeo definida como

Mapper.CreateMap<Calculator, CalculatorViewModel>() .ForMember(dest => dest.TypeIndicator, src => src.ResolveUsing(new TypeIndicatorResolver()));

¿Debo usar ResolveUsing o MapFrom(src => SomePrivateMethod()) ?

¿Cuál es la diferencia entre ResolveUsing y MapFrom cuando se trata de mapeo complejo?

El método Resolver o Privado irá a la base de datos y obtendrá un valor.


MapFrom usa Expresiones, mientras que ResolveUsing usa una Func. MapFrom solo permite redireccionar propiedades:

ForMember(d => d.Foo, opt => opt.MapFrom(src => src.Bar.Baz.Foo))

ResolveUsing puede ser cualquier cosa

ForMember(d => d.Foo, opt => opt.ResolveUsing(src => HitDatabaseWithStuff(src));

Utilizaría una clase de resolución cuando la lógica de resolución debe compartirse entre más de un miembro, o si quiero que el localizador de servicios cree una instancia de la resolución. De lo contrario, un método privado está bien.