如何将 AutoMapper 与 PagedList 一起使用?
How to use AutoMapper with PagedList?
我想使用 AutoMapper 将我的 ViewModel 映射到域模型 class。我也在使用 PagedList NuGet 包。我是这样使用它的:
[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]
我该如何解决?
你有没有注册你的映射?
根据错误消息,您似乎还没有在任何地方调用 CreateMap
方法。
看看this.
编辑
如前所述here,您可以为您的映射创建静态class...
public static class AutoMapperConfig
{
public static void Configure()
{
Mapper.CreateMap<ErrorsLog, ErrorsLogViewModel>();
}
}
然后在您的 Global.asax:
中调用它
AutoMapperConfig.Configure();
我想使用 AutoMapper 将我的 ViewModel 映射到域模型 class。我也在使用 PagedList NuGet 包。我是这样使用它的:
[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]
我该如何解决?
你有没有注册你的映射?
根据错误消息,您似乎还没有在任何地方调用 CreateMap
方法。
看看this.
编辑
如前所述here,您可以为您的映射创建静态class...
public static class AutoMapperConfig
{
public static void Configure()
{
Mapper.CreateMap<ErrorsLog, ErrorsLogViewModel>();
}
}
然后在您的 Global.asax:
中调用它AutoMapperConfig.Configure();