使用带有自定义值解析器和依赖项的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”一起使用时,会显示此错误:没有给定对应于IPathConfigurationExpression.MapFrom(Expression>)'所需形式参数'sourceMember'的参数
// 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>());
我忘记了什么吗?