Jak wstrzyknąć AutoMapper IMappingEngine za pomocą StructureMap

Większość przykładów, które znalazłemAutomapper użyj statycznego obiektu Mapper do zarządzania odwzorowaniami typów. W przypadku mojego projektu muszę wstrzyknąć IMapperEngine jako część konstrukcji obiektu przy użyciu StructureMap, abyśmy mogli wyszydzić program odwzorowujący w testach jednostkowych, abyśmy nie mogli użyć mapera statycznego. Muszę także wspierać konfigurowanie profili AutoMapper.

Moje pytanie brzmi: jak mogę skonfigurować rejestr StructureMap, aby mógł dostarczyć instancję IMappingEngine, gdy skonstruowana zostanie instancja MyService.

Oto podpis konstruktora usługi:

public MyService(IMappingEngine mapper, IMyRepository myRepository, ILogger logger)

A oto Rejestr StructureMap

public class MyRegistry : StructureMap.Configuration.DSL.Registry
{
    public MyRegistry()
    {
        For<IMyRepository>().Use<MyRepository>();
        For<ILogger>().Use<Logger>();
        //what to do for IMappingEngine?
    }
}

A profil, który chcę załadować

public class MyAutoMapperProfile : AutoMapper.Profile
{
    protected override void Configure()
    {
        this.CreateMap<MyModel, MyDTO>();
    }
}

questionAnswers(4)

yourAnswerToTheQuestion