Automapper 5.1.1 无法映射复杂对象,无效

Automapper 5.1.1 Can't map Complex object, aways invalid

这是我的问题,我正在尝试映射这两个实体,但我总是遇到异常:

发件人:

public int IdCorpoGestor { get; private set; }
    public string Nome { get; private set; }
    public string Email { get; private set; }
    public string Federacao { get; private set; }
    public DateTime DataIniMandato { get; private set; }
    public DateTime DataFimMandato { get; private set; }
    public string Telefone1 { get; private set; }
    public string Telefone2 { get; private set; }
    public int IdConselho { get; private set; }
    [ForeignKey("IdConselho")]
    public Conselho Conselho { get; private set; }
    public int IdTipo { get; private set; }
    [ForeignKey("IdTipo")]
    public Indicador Tipo { get; private set; }
    public bool Ativo { get; private set; }
}

收件人:

public class CorpoGestorDTO
{
    public int IdCorpoGestor { get; set; }
    public string Nome { get; set; }
    public string Email { get; set; }
    public string Federacao { get; set; }
    public DateTime DataIniMandato { get; set; }
    public DateTime DataFimMandato { get; set; }
    public string Telefone1 { get; set; }
    public string Telefone2 { get; set; }
    public int IdConselho { get; set; }
    public int IdTipo { get; set; }
    public bool Ativo { get; set; }
    public string Tipo { get; set; }
}

映射:

 Mapper.Initialize(cfg => cfg.CreateMap<CorpoGestor, CorpoGestorDTO>()
            .ForMember(x => x.Tipo, y => y.MapFrom(s => s.Tipo.Nome)));

从数据库调用 Mapper 结果:

Mapper.Map<IEnumerable<CorpoGestor>, List<CorpoGestorDTO>>(result);

异常:

Missing type map configuration or unsupported mapping

编辑

在 GitHub 上为 AutoMapper 打开了一个问题,您可以在那里获得更多信息:Automapper 5.1.1 Can't map Complex object, aways invalid #1783

尝试以下操作:

Mapper.Initialize(cfg => 
{
    cfg.CreateMap<CorpoGestor, CorpoGestorDTO>();
    cfg.CreateMap<Indicador, string>().ConvertUsing(x=> x.Nome);
}

您需要将一种数据类型转换为另一种数据类型。为此,将第二行添加到您的映射配置中。

此外,您应该只调用此一次。重复多次会覆盖之前的配置