{
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 - &gt;列表1
System.Data.IDataReader -> System.Collections.Generic.List
1 [...]
配置:
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 :(得分:0)
5.0版目前不支持IDataReader。我把它拿出来是因为我没有写它也不使用它。它位于一个单独的存储库github.com/automapper/automapper.data中,等待实际 使用它来移植它的人。
也许你想投入?