2015-06-13 5 views
2

Я бы хотел использовать AutoMapper для того, чтобы сопоставить модель ViewModel с моделью домена. Также я использую пакет PagedList NuGet. Я использую это следующим образом:Как использовать AutoMapper с PagedList?

[Authorize] 
[AutoMap(typeof(ErrorsLog), typeof(ErrorsLogViewModel))] 
public ActionResult Errors(string searchString, string currentFilter, int? page) 
{ 
    if (searchString != null) 
    { 
     page = 1; 
    } 
    else 
    { 
     searchString = currentFilter; 
    } 

    var el = _er.GetErrorsLog(); 
    ViewBag.CurrentFilter = searchString; 

    if (!String.IsNullOrEmpty(searchString)) 
    { 
     el = el.Where(s => s.ErrorSource.Contains(searchString)); 
    } 

    const int pageSize = 3; 
    int pageNumber = (page ?? 1); 
    return View("Errors", el.ToPagedList(pageNumber, pageSize)); 
} 

К сожалению, я получил ошибку:

Missing type map configuration or unsupported mapping. Mapping types: ErrorsLog -> ErrorsLogViewModel DigitalHubOnlineStore.Models.ErrorsLog -> DigitalHubOnlineStore.ViewModels.ErrorsLogViewModel Destination path: ErrorsLogViewModel Source value: PagedList.PagedList`1[DigitalHubOnlineStore.Models.ErrorsLog]

Как я могу исправить это?

ответ

4

У вас есть аккаунт? В сообщении об ошибке кажется, что вы еще не назовете метод CreateMap.
Взгляните на this.

EDIT

Как уже упоминалось here, вы можете создать статический класс для ваших отображений ...

public static class AutoMapperConfig 
{ 
    public static void Configure() 
    {  
     Mapper.CreateMap<ErrorsLog, ErrorsLogViewModel>(); 
    } 
} 

и просто вызовите ее в Global.asax:

AutoMapperConfig.Configure(); 
+0

Да я не сделал. Где я должен назвать этот метод? В контроллере или Global.asax? –

+3

Вы знаете, что лучше включить основные части ответа здесь (не в ссылку) и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – ZygD

+1

Вы правы @ ZygD, извините! Андрей, я отредактировал ответ с основными потребностями конфигурации, надеюсь, что это поможет! –

Смежные вопросы