Ошибка при попытке сопоставить список с помощью Automapper

#c# #.net #.net-core #automapper

#c# #.net #.net-ядро #automapper

Вопрос:

Мне нужно сопоставить IReadOnlyList<Person> с IReadOnlyList<PersonResponse> использованием Automapper .

 IReadOnlyList<Person> personList = await _personRespository.getall();

var t = MyMapper.Mapper.Map<IReadOnlyList<PersonResponse>>(personList );
 

Класс сопоставления

 CreateMap<IReadOnlyList<PersonResponse>, IReadOnlyList<Person>>().ReverseMap();
 

Ошибка, которую я получаю:

Система.Исключение TypeLoadException: метод ‘get_Item’ в типе ‘Proxy_System.Коллекции.Общий.IReadOnlyList`1[[Приложение.Приложение.Ответы.PersonResponse, App.Application, версия =1.0.0.0, Культура = нейтральная, PublicKeyToken=null]]34471389‘ из сборки ‘AutoMapper.Proxies, версия=0.0.0.0, Культура = нейтральная, PublicKeyToken=be96cd2c38ef1005’ не имеет реализации. в системе.Отражение.Излучение.TypeBuilder.CreateTypeNoLock() в системе.Отражение.Излучение.TypeBuilder.CreateTypeInfo()

Комментарии:

1. CreateMap<PersonResponse, Person>().ReverseMap()

Ответ №1:

Создайте сопоставление между Person и PersonResponse , соответствующими типами элементов. Automapper позаботится о самих коллекциях.

 CreateMap<PersonResponse, Person>().ReverseMap();
 

Вы можете прочитать больше Automapper и коллекций здесь