小编Bei*_*ZHU的帖子

AutoMapper IValueResolver:无法访问已处理的对象。对象名称:'IServiceProvider'

我想在 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

c# automapper asp.net-core-mvc

1
推荐指数
1
解决办法
582
查看次数

标签 统计

asp.net-core-mvc ×1

automapper ×1

c# ×1