Error with Automapper

Asked

Viewed 265 times

0

i have trouble mapping child classes in automapper, qndo do viewModel for model. Has anyone ever had that kind of problem? thank you very much I’ll post the classes

public class ViewModelToDomainMappingProfile : Profile
{
    public override string ProfileName
    {
        get { return "ViewModelToDomainMappings"; }
    }

    protected override void Configure()
    {
        Mapper.CreateMap<ClienteViewModel, Cliente>();
        Mapper.CreateMap<ClienteViewModel, Endereco>()
        .ForMember(dest => dest.Rua, m => m.MapFrom(a => a.Rua))
        .ForMember(dest => dest.Numero, m => m.MapFrom(a => a.Numero))
        .ForMember(dest => dest.CEP, m => m.MapFrom(a => a.Cep))
        .ForMember(dest => dest.Bairro, m => m.MapFrom(a => a.Bairro))
        .ForMember(dest => dest.CidadeId, m => m.MapFrom(a => a.CidadeId))
        .ForMember(dest => dest.Cidade, m => m.MapFrom(a => Mapper.Map<ClienteViewModel, Cidade>(a)))
        .ForMember(dest => dest.EstadoId, m => m.MapFrom(a => a.EstadoId))
        .ForMember(dest => dest.Estado, m => m.MapFrom(a => Mapper.Map<ClienteViewModel, Estado>(a)));           

   }
}

}

the classes of domain

public class Cidade
{
    public Int64 CidadeId { get; set; }
    public String CidadeNome { get; set; }
    public Int64 EstadoId { get; set; }
    public virtual Estado Estado { get; set; }
}

public class Cliente
{
    public Int64 ClienteId { get; set; }
    public String Nome { get; set; }
    public String Email { get; set; }
    public String Cpf { get; set; }
    public String Rg { get; set; }
    public String TelFixo { get; set; }
    public String Celular { get; set; }
    public Int64 EnderecoId { get; set; }
    public virtual Endereco Endereco { get; set; }
}
//classe viewModel
public class ClienteViewModel
{
    [Key]
    public Int64 ClienteId { get; set; }

    [Required(ErrorMessage = "Nome do cliente é obrigatório ")]
    [MaxLength(150, ErrorMessage = "Máximo {0} caracteres")]
    public String Nome { get; set; }

    [Required(ErrorMessage = "CPF é obrigatório")]
    [MaxLength(12)]
    public String Cpf { get; set; }
    [MaxLength(11)]
    public String RG { get; set; }

    [EmailAddress(ErrorMessage = "Preencha um E-mail válido")]
    [DisplayName("E-mail")]
    public String Email { get; set; }
    public String Telefone { get; set; }
    public String Celular { get; set; }
    public Int64 EnderecoId { get; set; }
    public Int64 EstadoId { get; set; }
    public Int64 CidadeId { get; set; }
    public String Rua { get; set; }
    public String Cep { get; set; }
    [DisplayName("Cidade")]
    public String CidadeNome { get; set; }
    public String Bairro { get; set; }
    public String UF { get; set; }
    public String Numero { get; set; }
    public String Complemento { get; set; }

}
  • If you want us to help you with a problem, the least you can do is tell us what it is!

  • then, when I map viewModel to model, with complex object, it generates Exception Missing type map Configuration or Unsupported Mapping. &#xA;&#xA;Mapping types:&#xA;ClienteViewModel -> Cidade&#xA;GestaoProcesso.Aplicacao.ViewModels.ClienteViewModel -> GestaoProcesso.Dominio.Entidades.Cidade&#xA;&#xA;Destination path:&#xA;Cidade&#xA;&#xA;Source value:&#xA;GestaoProcesso.Aplicacao.ViewModels.ClienteViewModel

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.