AutoMapper 5.当map IDataReader在3时抛出异常.X版本可以
本文关键字:抛出异常 版本 3时 map IDataReader AutoMapper | 更新日期: 2023-09-27 18:16:07
{
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版本时,它抛出了异常:
错误映射类型。映射类型:IDataReader -> List 1
System.Data.IDataReader -> System.Collections.Generic.List
[....]
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>();
}
}
IDataReader在今天的5.0中不受支持。我把它拿出来是因为我既没写也没用过。它在一个单独的存储库github.com/automapper/automapper.data中,等待真正使用的人来移植它。
也许你愿意帮忙?