Większość przykładów znalezionych dla Automapper używa statycznego obiektu Mapper do zarządzania odwzorowaniami typów. Do mojego projektu muszę wstrzyknąć IMapperEngine jako część konstrukcji obiektu za pomocą StructureMap, abyśmy mogli sfałszować program odwzorowujący w testach jednostkowych, abyśmy nie mogli używać statycznego narzędzia odwzorowującego. Muszę również obsługiwać konfigurowanie profili AutoMapper.Sposób wstrzykiwania AutoMapper IMappingEngine przy użyciu StructureMap
Moje pytanie brzmi: jak skonfigurować rejestr StructureMap, aby mógł dostarczać instancję IMappingEngine podczas konstruowania instancji MyService.
Oto podpis konstruktora usługi:
public MyService(IMappingEngine mapper, IMyRepository myRepository, ILogger logger)
A oto StructureMap rejestru
public class MyRegistry : StructureMap.Configuration.DSL.Registry
{
public MyRegistry()
{
For<IMyRepository>().Use<MyRepository>();
For<ILogger>().Use<Logger>();
//what to do for IMappingEngine?
}
}
i profil Chcę załadować
public class MyAutoMapperProfile : AutoMapper.Profile
{
protected override void Configure()
{
this.CreateMap<MyModel, MyDTO>();
}
}
@Sebastian, dzięki za edycję, aby upiększyć kod. Nie wiedziałem, jak to zrobić. –