Sto aggiornando AutoMapper in un progetto, convertendo dallo statico Mapper.CreateMap
nel nuovo modo e iniettando un IMapper
dove devo mappare.Utilizzare Automapper in ITypeConverter
Questo sta andando alla grande, tranne per un caso d'uso. Ho diversi ITypeConverter
s per mappature complesse che utilizzano la funzione Mapper.Map
. Come posso risolvere questo? Di seguito è riportato il codice che sto utilizzando al momento.
Lo statico Mapper.Map
non riesce a trovare i miei mapping definiti perché non vengono creati utilizzando il metodo statico.
public partial class ApplicationMappingsProfile
{
private void RegisterMappings()
{
CreateMap<Application, AppDto>()
.ConvertUsing<ApplicationTypeConverter>();
}
}
private class ApplicationTypeConverter : ITypeConverter<App, AppDto>
{
public AppDto Convert(ResolutionContext context)
{
var src = context.SourceValue as App;
if (src == null)
{
return null;
}
var dto = Mapper.Map<App, AppDto>(src);
dto.property = Mapper.Map<Property>(src.SomeProperty);
return result;
}
}
Grazie per aver condiviso il problema risolto –
c'è un modo per utilizzare l'istanza di IMapper all'interno di Ctor? –
@AmelSalibasic lo inietta? – Thijs