2016-11-09 60 views
0

我一直在寻找this,试图找出如何让AutoMapper工作。这就是我在前面如何配置和使用automapper 5.1.1

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(); 

我现在的困难是如何得到这个工作我的控制者以及我是否在正确的轨道上。与所有的不同的信息和不同的方法所有的地方我是提前严重的混乱 感谢

回答

1

您的个人资料需要调用非静态方法。将其从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)) 
     ); 
    } 
} 
+0

非常感谢,您刚刚让我走 –