Выбор конкретной конфигурации маппера

Допустим, у меня есть сервисы, которые на вход принимают IMapper.

В контексте одного сервиса объекты должны мапиться по одному, а в контексте другого по другому.

Поэтому я создаю 2 профиля.

Теперь вопрос, в том, а как мне в корне композиции внедрения зависимостей сказать, что тут нужно разрешить зависимость с одним профилем, а тут с другим?


Ответы (1 шт):

Автор решения: Vyacheslav Benedichuk

Например это можно сделать так, в первом сервисе:

    services.AddAutoMapper(cfg =>
     {
        cfg.AddProfile(new MappingProfileOne());
     });

во втором сервисе:

    services.AddAutoMapper(cfg =>
     {
        cfg.AddProfile(new MappingProfileTwo());
     });

Соответственно в первом сервисе у вас будет работать MappingProfileOne а во втором MappingProfileTwo Соответствующие расширения объявлены в сборках AutoMapper.Extensions.Microsoft.DependencyInjection и Automapper. Их можно добавить через nuget.

Если этот вариант не поможет, пожалуйста дайте больше контекста, что за приложение и как вы инициализируете его.

→ Ссылка