Я хотел бы отобразить разбитый на страницы список бизнес-объектов к разбитому на страницы списку объектов модели представления с помощью чего-то вроде этого:
var listViewModel = _mappingEngine.Map, IPagedList>(requestForQuotes);
Разбитая на страницы реализация списка подобна реализации Rob Conery здесь: http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/
Как можно установить Автокартопостроитель, чтобы сделать это?
AutomApper не поддерживает это из коробки, так как не знает о какой-либо реализации IPAdlist <>
. У вас есть пара вариантов:
Написать пользовательский iObjectMapper
, используя существующий массив / enumerablemappers в качестве руководства. Это то, как я бы пошел лично.
Написать пользовательский типографвер, используя:
Mapper
.EMATEMAP , IPALLISTLIST > ()
.Convertusing ();
И внутреннее использование Mapper.map
для отображения каждого элемента списка.
Automapper автоматически обрабатывает преобразования между несколькими типами списков и массивов: http://automapper.codeplex.com/wikipage?Title=Lists%20and%20Arrays
Не отображается автоматически конвертировать пользовательские типы списков, унаследованных от Ilist, но работа вокруг может быть:
var pagedListOfRequestForQuote = new PagedList<RequestForQuoteViewModel>(
AutoMapper.Mapper.Map<List<RequestForQuote>, List<RequestForQuoteViewModel>>(((List<RequestForQuote>)requestForQuotes),
page ?? 1,
pageSize