2017-02-17 43 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就可以了。

相关问题