如何配置和使用automapper 5.1.1

How to configure and use automapper 5.1.1

我一直在查看 ,试图弄清楚如何让 AutoMapper 工作。这是我之前的

public class DomainToViewModelMappingProfile: Profile
{
    public DomainToViewModelMappingProfile()
    {
        Mapper.Initialize(cfg => cfg.CreateMap<Institution, InstitutionDataViewModel>()
        .ForMember(vm => vm.InstitutionID, map => map.MapFrom(s => s.InstitutionID))
        .ForMember(vm=>vm.InstituteName,map=>map.MapFrom(s=>s.InstituteName))
        .ForMember(vm=>vm.Circuit,map=>map.MapFrom(s=>s.AdministrativeStructure.AdminStructName))
        .ForMember(vm=>vm.Level,map=>map.MapFrom(s=>s.Level.LevelName))
        );
    }
}

然后是这个

 public class AutoMapperConfiguration
{
    public static void Configure()
    {
        Mapper.Initialize(x =>
        {
            x.AddProfile<DomainToViewModelMappingProfile>();
        });
    }
}

终于在我的 startup.cs

中有了这个
// Automapper Configuration
        AutoMapperConfiguration.Configure();

我现在的困难是如何让它在我的控制器中工作,以及我是否在正确的轨道上。到处都是不同的信息和不同的方法,我感到非常困惑 提前致谢

您的配置文件需要调用非静态方法。将它从 Mapper.CreateMap... 更改为简单的:

public class DomainToViewModelMappingProfile : Profile
{
    public DomainToViewModelMappingProfile()
    {
        CreateMap<Institution, InstitutionDataViewModel>()
        .ForMember(vm => vm.InstitutionID, map => map.MapFrom(s => s.InstitutionID))
        .ForMember(vm => vm.InstituteName, map => map.MapFrom(s => s.InstituteName))
        .ForMember(vm => vm.Circuit, map => map.MapFrom(s => s.AdministrativeStructure.AdminStructName))
        .ForMember(vm => vm.Level, map => map.MapFrom(s => s.Level.LevelName))
        );
    }
}