升级5.1.1后,AutoMapper不起作用

时间:2016-09-16 16:53:42

标签: c# automapper

对于我的MVC项目,我升级了我的nuget包并获得了最新版本的AutoMapper https://www.nuget.org/packages/AutoMapper/

它表示支持IList作为映射源; https://github.com/AutoMapper/AutoMapper/wiki/Lists-and-arrays

它使用旧版本,我只更新了我的配置部分。

配置如下;

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {           
        AutoMapperConfig.RegisterMappings();            
    }
}

public static void RegisterMappings()
{
    Mapper.Initialize(cfg =>
    {
       cfg.CreateMap<RssNewDto, RssNewViewModel>();    
    });   
}   

// where I am trying to resolve
[HttpGet]
public IList<RssNewViewModel> ReadList()
{
     // EXCEPTION
    IList<RssNewViewModel> items2 = AutoMapper.Mapper.Map<IList<RssNewDto>, IList<RssNewViewModel>>(items);
    return items2;
}
  

错误:发生AutoMapper.AutoMapperMappingException   HResult = -2146233088 Message =错误映射类型。的InnerException:   HResult = -2146233088消息=缺少类型映射配置或   不支持的映射。

我在配置上遗漏了什么吗?

1 个答案:

答案 0 :(得分:0)

您的RegisterMappings方法仅创建从RssNewDtoRssNewViewModel的地图,而不是IList<RssNewDto>IList<RssNewViewModel>的地图。

您可以执行此操作items.Select(item => AutoMapper.Mapper.Map<RssNewViewModel>(item)).ToList();