2017-02-17 2 views
0

Ich verwende ASP.NET Core mit dem integrierten Container.Wie registriere ich AutoMapper-Profile manuell in ASP.NET Core?

Automatische Registrierung wird like so getan:

var config = new MapperConfiguration(c => c.AddProfiles(typeof(Startup))); 
services.AddSingleton<IMapper>(s => config.CreateMapper()); 

Diese automatisch 1) konfiguriert AutoMapper, und 2) registriert alle Profile in der Baugruppe vorhanden.

Aber ich möchte meine Profile manuell registrieren. Wie mache ich das?

+0

Überprüfung dieses die Konfiguration AutoMapper http://stackoverflow.com/questions/41220742/setting-up-automapper-5-1/41221647#41221647 – Ahmar

Antwort

1

Verwenden Sie einfach die Sigular Version der Methode.

var config = new MapperConfiguration(c => { 
    c.AddProfile<ProfileA>(); 
    c.AddProfile<ProfileB>(); 
}); 
services.AddSingleton<IMapper>(s => config.CreateMapper()); 
1

Sie können eine neue AutoMapper.MapperCOnfiguration erstellen und anstelle von AddProfiles können Sie die CreateMap-Methode für jedes Profil verwenden, das Sie registrieren möchten. So etwas wie dies

var config = new AutoMapper.MapperConfiguration(cfg => 
{ 
    cfg.CreateMap<myObj, myObjDto>(); 
}); 

var mapper = config.CreateMapper(); 

Dann injiziert nur Mapper und es ist getan.

Verwandte Themen