2016-08-04 70 views
1

我遇到了Automapper問題。我的映射表調用看起來像:Automapper將列表與列表映射到列表

var dataContracts = MapperManager.Mapper.Map<List<Employee>, List<EmployeeDTO>>(entities.ToList()); 

實體是IQueryable<Employee>

在我的映射器的輔助類,我有:

public class MapperManager 
{ 
    public static MapperConfiguration MapperConfiguration { get; set; } 

    private static IMapper _mapper { get; set; } 

    public static IMapper Mapper 
    { 
     get 
     { 
      if (_mapper == null) { 
       _mapper = MapperConfiguration.CreateMapper();      
      } 

      return _mapper; 
     } 
    } 

    public static void RegisterMappinngs() 
    { 

     MapperConfiguration = new MapperConfiguration(cfg => 
     { 
      ... 
      cfg.CreateMap<Employee, EmployeeDTO>().MaxDepth(5); 
      ... 
     } 
    } 
} 

RegisterMappings上AppStartup調用一次在Global.asax中 和我後地圖操作中的例外情況:

var dataContracts = MapperManager.Mapper.Map<List<Employee>, List<EmployeeDTO>>(entities.ToList()); 

錯誤映射類型。

映射類型: List`1 - > List`1 System.Collections.Generic.List`1 [[NAMESPACE.Employee,ASSEMBLY, 版本= 1.0.0.0,文化=中性公鑰=空]] - > System.Collections.Generic.List`1 [NAMESPACE2.EmployeeDTO,ASSEMBLY2, 版本= 1.0.0.0,文化=中立,公鑰=空]

任何人都可以提供任何想法我什麼做錯了?

問候

+0

您是否可以映射單個Employee - > EmployeeDTO?您的配置可能不完整。如果你調用MapperConfiguration.AssertConfigurationIsValid(),會發生什麼? –

回答

0

好吧,這就是答案:

MapperConfiguration.AssertConfigurationIsValid()

當我打電話說,我AMConfigurationException與unmaped財產,內心深處的另一名員工財產。

謝謝您的建議