#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 и коллекций здесь