2017-02-17 55 views
0

我正在使用帶有內置容器的ASP.NET Core。如何在ASP.NET Core中手動註冊AutoMapper配置文件?

自動登記完成like so

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

這會自動1)配置AutoMapper,和2)登記在組件中找到的所有配置文件。

但我想手動註冊我的配置文件。我怎麼做?

+0

檢查這一塊如何配置automapper http://stackoverflow.com/questions/41220742/setting-up-automapper-5-1/41221647#41221647 – Ahmar

回答

1

只需使用sigular版本的方法。

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

您可以創建一個新的AutoMapper.MapperCOnfiguration,而不是調用AddProfiles,您可以使用CreateMap方法來爲每個想要註冊的配置文件。 類似這樣的東西

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

var mapper = config.CreateMapper(); 

然後只需要注入mapper就可以了。

相關問題