Automapper 4.2,如何重新使用映射

时间:2016-02-14 10:50:33

标签: c# asp.net asp.net-mvc automapper

我有一个自动化映射工作很好,我只是不知道每次我需要将模型映射到我的viewModel时是否必须重新编写它反之亦然。我想知道是否有一种方法,一旦它被映射,automapper知道该怎么做。 我可以用一个" helper"中的映射创建静态方法。上课,但我不知道这是不是正确的做法。 这是映射。

                    var ax =
                new MapperConfiguration(cfg =>
                {
                    cfg.CreateMap<Pessoa, PessoaViewModel>()
                    .ForMember(dest => dest.cod_endereco, opt => opt.MapFrom(src => src.endereco.codigo))
                    .ForMember(dest => dest.logradouro, opt => opt.MapFrom(src => src.endereco.logradouro))
                    .ForMember(dest => dest.cod_tipolograd, opt => opt.MapFrom(src => src.endereco.tipo.codigo))
                    .ForMember(dest => dest.cod_munic_ender, opt => opt.MapFrom(src => src.endereco.municipio.codigo))
                    .ForMember(dest => dest.nome_munic_ender, opt => opt.MapFrom(src => src.endereco.municipio.nome))
                    .ForMember(dest => dest.numero, opt => opt.MapFrom(src => src.endereco.numero))
                    .ForMember(dest => dest.complemento, opt => opt.MapFrom(src => src.endereco.complemento))
                    .ForMember(dest => dest.cep, opt => opt.MapFrom(src => src.endereco.cep))
                    .ForMember(dest => dest.bairro, opt => opt.MapFrom(src => src.endereco.bairro))
                    ;
                }).CreateMapper().Map<Pessoa, PessoaViewModel>(p);

如果我使用如下的映射:

new MapperConfiguration(cfg => cfg.CreateMap<Pessoa, PessoaViewModel>()).CreateMapper().Map<Pessoa, PessoaViewModel>(p);

我用于成员方法映射它们的字段保持为空。

0 个答案:

没有答案