AutoMapper версии 9.0.0 - нет метода ConfigureMap () для IMappingOperationOptions - PullRequest
3 голосов
/ 05 января 2020

Я обновляю проекты решения Visual Studio 2019 с AutoMapper версии 8.0.0 до версии 9.0.0. В коде есть несколько мест, которые вызывают метод ConfigureMap (). Ошибки в состоянии вывода сборки:

IMappingOperationOptions не содержит определения для ConfigureMap и недоступного метода расширения ConfigureMap ...

Вот примеры того, как выглядит текущий код:

Mapper.Map(TSource, TDestination, opt => opt.ConfureMap());

Mapper.Map(TSource, TDestination, opt => opt.ConfigureMap().ForMember(dest => dest.someBool, m => m.MapFrom(src => src.someBoolVal));

Я просмотрел документацию AutoMapper для обновления с 8.0.0 до 9.0.0 и не вижу упоминаний о том, что метод ConfigureMap () устарел. Тем не менее, он не появляется при поиске в Object Browser VS.

Я был бы очень признателен, если бы кто-нибудь смог поделиться кодом , как выполнить sh такую ​​же функциональность в 9.0.0.

1 Ответ

2 голосов
/ 15 января 2020

У меня была та же проблема (IMappingOperationOptions не содержит определения для ConfigureMap), и я решил с другим подходом.

//Step 1. Create a MapperConfiguration
var customMapConfig = new MapperConfiguration(cfg => {
    cfg.CreateMap<originClass, destClass>()
        .ForMember(dest => dest.FieldA, opt => opt.Ignore())
        .ForMember(dest => dest.FieldB, opt => opt.Ignore());
});

//Step 2. Create the custom Mapper
var customMapper = customMapConfig.CreateMapper();

//Step 3. Execute
customMapper.Map<originClass, destClass>(objOrigin, objDest); 
...