我想在 AutoMapper 中使用 IValueResolver 来映射两个类,并且将从 HttpRequest Context 中获取一个值,所以我想使用 IValueResolver
CreateMap<Dto, ViewModel>().ForMember(x=>x.MemberID, opt=>opt.Mapfrom<SpecialResolver>())
Run Code Online (Sandbox Code Playgroud)
和解析器很简单
public string Resolve(ViewModel viewModel, Dto dto, string destMember, ResolutionContext context)
{
return "test";
}
Run Code Online (Sandbox Code Playgroud)
在启动类中,我把这个:
services.AddAutoMapper(typeof(Startup));
Run Code Online (Sandbox Code Playgroud)
但是每次我将它们映射到 MemberID 时都会抛出错误,说 IServiceProvider 已被处理。那么如何使这些工作?我尝试在启动时注入这个 SpecialResolver 但也没有工作。顺便说一句,我使用 .net core 3.0