Я бы лучше создал отдельный инициализатор и маппер.например, вот мой AutoMapperStartupTask
класс.
public static class AutoMapperStartupTask
{
public static void Execute()
{
Mapper.Initialize(
cfg =>
{
cfg.CreateMap<ProductViewModel, ProductDto>()
.ReverseMap();
});
}
}
и Mapper
public static class DtoMapping
{
public static ProductViewModel ToModel(this ProductDto dto)
{
return Mapper.Map<ProductDto, ProductViewModel>(dto);
}
public static ProductDto ToDto(this ProductViewModel dto)
{
return Mapper.Map<ProductViewModel, ProductDto>(dto);
}
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
AutoMapperStartupTask.Execute();
}
Использование в контроллере
var dto = productModel.ToDto();
var model = productDto.ToModel();