Обработка зависимостей профиля с помощью пользовательских резолверов значений (Automapper 8.0) - PullRequest
0 голосов
/ 01 мая 2019

Использование automapper 8.0 с пользовательским распознавателем значений и зависимостями. Мой исходный класс содержит логическое свойство, которое должно быть переведено в строку в моем целевом классе. Чтобы сделать это, я должен использовать собственный преобразователь значений, в который вставлена ​​служба.

Я перешел по этой ссылке, чтобы сделать то, что я хотел: https://social.technet.microsoft.com/wiki/contents/articles/51043.automapper-handling-profile-dependencies-using-custom-value-resolvers.aspx

Начиная с новой версии AutoMapper, ResolveUsing были заменены на MapFrom. Я тоже получаю, но эта ошибка отображается, когда я использую преобразователь с «MapFrom»: отсутствует аргумент, соответствующий необходимому формальному параметру «sourceMember» из «IPathConfigurationExpression.MapFrom (Expression>)»

// The resolver
public class MyResolver : IValueResolver<SourceType, DestType, string>
{
    private readonly IMyService _myService;
    public MyResolver(IMyService myService)
    {
        _myService = myService;
    }

    public string Resolve(SourceType source, DestType destination, string destMember, ResolutionContext context)
    {
        return source.MyProperty? _myService.GetById(1) : _myService.GetById(2);
    }
}

// The call
CreateMap<DestType, SourceType>()
     .ForPath(dest => dest.Obj1.Obj2.myProperty, opt => opt.MapFrom<MyResolver>());

Я что-то забыл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...