Как добавить AutoMapper IMappingEngine с помощью StructureMap
Большинство примеров, которые я нашел дляAutomapper используйте статический объект Mapper для управления отображениями типов. Для моего проекта мне нужно внедрить IMapperEngine как часть конструкции объекта с использованием StructureMap, чтобы мы могли смоделировать маппер в модульных тестах, чтобы мы не могли использовать статический маппер. Мне также нужно поддерживать настройку профилей AutoMapper.
Мой вопрос заключается в том, как настроить реестр StructureMap, чтобы он мог предоставлять экземпляр IMappingEngine при создании экземпляра MyService.
Вот подпись конструктора сервиса:
public MyService(IMappingEngine mapper, IMyRepository myRepository, ILogger logger)
А вот и реестр StructureMap
public class MyRegistry : StructureMap.Configuration.DSL.Registry
{
public MyRegistry()
{
For<IMyRepository>().Use<MyRepository>();
For<ILogger>().Use<Logger>();
//what to do for IMappingEngine?
}
}
И профиль, который я хочу загрузить
public class MyAutoMapperProfile : AutoMapper.Profile
{
protected override void Configure()
{
this.CreateMap<MyModel, MyDTO>();
}
}