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.