在较早的版本中,您可以在这样的映射中提供参数:
Mapper.CreateMap<Source, Dest>()
.ForMember(d => d.Foo, opt => opt.ResolveUsing(res => res.Context.Options.Items["Foo"]));
在运行时:
Mapper.Map<Source, Dest>(src, opt => opt.Items["Foo"] = "Bar");
在AutoMapper v8.0 +中,ResolveUsing已被删除,文档中提及ResolveUsing的应替换为MapFrom,但在MapFrom的上下文或项中似乎未知。
V8.0 +执行此操作的方法是什么?该文档在这个主题上还有很多不足之处。
让它像这样工作:
Mapper.CreateMap<Source, Dest>()
.ForMember(d => d.Foo, opt => opt.MapFrom((src, dest, x, context) => context.Options.Items["Foo"]));