![EmitMapper: a questo punto sbizzarriamoci header image](/img/posts/default-header.jpg)
EmitMapper: a questo punto sbizzarriamoci
Molto semplicemente vogliamo che l’utilizzatore possa spiegare come mappare i tipi presenti in una lista, senza necessariamente dover intercettare il processo di conversione. MatchListItemTypemapperManager.GetMapper<SpecialCategory, SpecialCategoryDto> ( new MappingConfiguration() .MatchListItemType<SpecialReferencedType, SpecialReferencedTypeDto>() .DeepMap() );
A questo punto potreste avere un interessante problema, se il dominio di partenza è gestito da NHibernate i vostri item non saranno mai del tipo “descritto” perché quanto iterate gli elementi in realtà state iterando i proxy generati da NHibernate, per ovviare a questo problema la configurazione vi permette di esplicitare un TypeResolver che è una Func
new MappingConfiguration()Figo
.MatchListItemType<SpecialReferencedType, SpecialReferencedTypeDto>()
.ResolveListItemTypeUsing( o => o.GetType() )
![Smile](https://lh5.googleusercontent.com/-DKP2F0sr8Mw/T0Slo00xlDI/AAAAAAAAB3w/52IZT7CWapc/wlEmoticon-smile_2_31.png)
.m