Sto pianificando di utilizzare Automapper con la soluzione ASP.NET MVC e Unity DI. Il video pubblicato su automapper su come utilizzare è molto vecchio e non mostra come il mapper può essere usato con l'iniezione di dipendenza. La maggior parte degli esempi su stackoverflow utilizza anche il metodo Mapper.CreateMap() che ora è deprecato.Come utilizzare Automapper con l'unità dependency injection?
La guida automapper dice
Una volta che avete i vostri tipi è possibile creare una mappa per i due tipi utilizzando un'istanza MapperConfiguration e CreateMap. È necessaria solo un'istanza MapperConfiguration in genere per AppDomain e dovrebbe essere creata durante l'avvio.
var config = new MapperConfiguration(cfg => cfg.CreateMap<Order, OrderDto>());
quindi presumo sopra riga di codice andrà in avvio dell'applicazione, come global.asax
Per eseguire una mappatura, creare un IMapper utilizzare il metodo CreateMapper.
var mapper = config.CreateMapper();
OrderDto dto = mapper.Map<OrderDto>(order);
La riga precedente entrerà nel controller. Tuttavia non sto capendo da dove proviene questa variabile config
? Come faccio ad iniettare IMapper nel controller?
È necessario configurare il contenitore per mappare tra "IMapper" e l'istanza del programma di analisi. Quindi dovresti dichiarare una dipendenza su 'IMapper' dal controller (accettando un' IMapper' nel costruttore). –
alcun esempio? Quindi ci sarà 'new MapperConfiguration() 'per ogni entità che ho bisogno di mappare? L'esempio sarebbe davvero di aiuto – LP13