Использование 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>());
Я что-то забыл?