2017-08-27 66 views
1

我在我的項目中使用automapper,直到今天是它的非常舊的版本,我決定將它更新到最新版本。如何在Automapper 6.1.1中正確地將模型映射到實體?

在執行我的項目和測試一些API,一些工作正常(無關係),但其他人出現以下錯誤:

Error mapping types.

Mapping types: PaginaModelCadastro -> Pagina Identidade.App.Models.PaginaModelCadastro -> Identidade.Domain.Entities.Pagina

Type Map configuration: PaginaModelCadastro -> Pagina Identidade.App.Models.PaginaModelCadastro -> Identidade.Domain.Entities.Pagina Property: IdDominio

以下是引用錯誤的所有類和映射:

** Automapper配置類**從模型

public static void Configure() 
    { 
     Mapper.Initialize(map => 
     { 
      map.AddProfile<EntityToModelMapping>(); 
      map.AddProfile<ModelToEntityMapping>(); 
     }); 
    } 

映射到實體

 CreateMap<PaginaModelCadastro, Pagina>() 
     .ForMember(dest => dest.IdDominio, src => src.MapFrom(m => new Dominio() { IdDominio = m.IdDominio })); 

類別:多米尼

public class Dominio 
{ 
    public virtual int IdDominio { get; set; } 
    public virtual string Descricao { get; set; } 

    public virtual ICollection<Pagina> Paginas { get; set; } 
} 

類別:Pagina

public class Pagina 
{ 
    public virtual int IdPagina { get; set; } 
    public virtual string Descricao { get; set; } 
    public virtual int IdDominio { get; set; } 

    public virtual Dominio Dominio { get; set; } 
    public virtual ICollection<Permissao> Permissoes { get; set; } 
} 

回答

0

沒有辦法IdDominio和多米尼之間進行映射。您必須刪除您擁有的ForMember。也許你的意思是

CreateMap<PaginaModelCadastro, Pagina>() 
    .ForMember(dest => dest.Dominio, src => src.MapFrom(m => new Dominio() { IdDominio = m.IdDominio })); 
+0

非常感謝盧西恩!成功了! –

相關問題