2015-11-05 31 views
0

當名稱相等時,我需要映射兩個模型。我通過反射抓住他們這樣的:在循環中映射模型

var domainModels = Assembly.Load("Domain.Model").GetTypes(); 
var dtoModels = Assembly.Load("Service.Model").GetTypes(); 

我試圖做到這一點在嵌套循環是這樣的:

foreach (var dto in dtoModels) 
     { 

      foreach (var domain in domainModels) 
      { 
       if (domain.Name == dto.name) 
       { 
        Mapper.CreateMap<domainModels.First(), dtoModels.First()>() 

       }        
      } 

,但我得到了一個錯誤:操作「<」不能應用於'method group'和'Type'類型的操作數我現在需要在<>中有一個類。如何實現這一目標?名稱匹配時,是否有更好的方法來映射兩個模型?

回答

0

您應該使用CreateMap的過載,使您可以通過類型作爲參數:

Mapper.CreateMap(domainModels.First(), dtoModels.First());