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>();
}
}
你沒有包含很多信息,比如你如何配置和初始化AutoMapper,也沒有包含完整的錯誤信息。如果沒有這個,很難猜測出什麼是錯的! – Richard