2017-02-17 3 views
0

Я использую ASP.NET Core со встроенным контейнером.Как вручную регистрировать профили AutoMapper в ASP.NET Core?

Автоматическая регистрация осуществляется 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

Просто используйте сигулярный вариант метода.

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(); 

Тогда просто впрыснуть картограф и это сделано.

Смежные вопросы