2016-11-02 65 views
0
{ 
    using (MySqlDataReader reader = ExecuteReader(connectionString, commandText, parms)) 
    { 
     if(reader.HasRows) 
     { 
      var list = AutoMapper.Mapper.Map<IDataReader, IList<T>>(reader); 
      return list.ToList(); 
     } 

     return null; 
    } 
} 

此代碼在AutoMapper 3.3.1上正常工作,但是當我升級到最新的5.1.1版本時,它會拋出異常:AutoMapper 5.X當映射IDataReader在3.X版本時發生異常

錯誤映射類型。 映射類型: 的IDataReader - >列表1 System.Data.IDataReader -> System.Collections.Generic.List 1 [...]

配置:今天不支持在5.0

public class AutoMapperConfig 
    { 
     public static void Configure() 
     { 
      Mapper.Initialize(cfg => 
      { 
       //MapperRegistry.Mappers.Add(new DataReaderMapper { YieldReturnEnabled = true }); 4.x.x 
       //cfg.CreateMissingTypeMaps = true; 
       cfg.AddProfile<MapperProfile>(); 
      }); 
     } 
    } 

    public class MapperProfile : Profile 
    { 
     protected override void Configure() 
     { 
      CreateMap<System.Data.IDataReader, TestModel>(); 
     } 
    } 
+0

你沒有包含很多信息,比如你如何配置和初始化AutoMapper,也沒有包含完整的錯誤信息。如果沒有這個,很難猜測出什麼是錯的! – Richard

回答

0

IDataReader的。我拿出來,因爲我沒有寫,也沒有使用它。它位於一個單獨的存儲庫github.com/automapper/automapper.data中,正在等待某個實際上確實使用來進行移植的人。

也許你想要參加?

相關問題