我有一个.NET Core 3.1 API 和以下 Nuget 包:
我正在尝试使用ValueResolver将值从实体映射到 dto,但出现异常:
AutoMapperMappingException:无法创建 TestAutomapperResolver.Mapping.CustomResolver 类型的实例
启动.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddAutoMapper(cfg => cfg.AddMaps(typeof(TestProfile).Assembly));
}
Run Code Online (Sandbox Code Playgroud)
测试配置文件.cs
public class TestProfile : Profile
{
public TestProfile()
{
CreateMap<TestEntity, TestDto>()
.ForMember(src => src.PropertyToBeMappedByResolver, opts => opts.MapFrom<CustomResolver>());
}
}
public class CustomResolver : IValueResolver<TestEntity, TestDto, string>
{
public string Resolve(TestEntity source, TestDto destination, string destMember, ResolutionContext context)
{
return "String generated with resolver";
}
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,mapper.CreateMap<TestDto>(entity);我收到了这个异常。
顺便说一句,使用此解析器作为opts …