AutoMapper не возвращает данные из DataTable - PullRequest
0 голосов
/ 12 ноября 2018

Я использую плагин AutoMapper для сопоставления DataTable с C # Object . Вот мой код:

public List<MyDto> GetReport()
{
    List<MyDto> list = null;
    var config = new MapperConfiguration(cfg =>
    {
        cfg.CreateMap<IDataReader, List<MyDto>>();
    });
    IMapper mapper = config.CreateMapper();
    list = mapper.Map<IDataReader, List<MyDto>>(Odao.Inst.GetReport().Tables[0].CreateDataReader()).ToList();
    return list;
}

Мой MyDto класс выглядит следующим образом

public class MyDto
{
     public int EmployeeId { get; set; }
     public string FullName { get; set; }
}

Здесь данные должным образом возвращаются из моего уровня DataAccess, но когда они отображаются на объект, список становится пустым. Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 12 ноября 2018

Я решил это с помощью AutoMapper ver 3.3.1.По сути, версия 4 и выше не будет поддерживать эту IDataReader функциональность.

Теперь у меня работает следующий код.

Mapper.Reset();
Mapper.CreateMap<IDataReader, MyDto>();
list = Mapper.Map<IDataReader,List<MyDto>>(Odao.Inst.GetReport().Tables[0].CreateDataReader()).ToList(); 
...