Automapper (4.2.1) 抛出异常 "missing map..." 即使地图是在上面的行中创建的

Automapper (4.2.1) throwing an exception "missing map..." even though the map is created on the line above

我一直在尝试升级到 Automapper 4,但没有成功。这会抛出一个异常,即映射丢失而它不是

var configuration = new MapperConfiguration(cfg =>
    {
        cfg.CreateMap<Journal, JournalDTO>();
        cfg.CreateMap<JournalDTO, Journal>();
    });

var mapper = configuration.CreateMapper();
var journals = mapper.Map<ObservableCollection<Journal>>(context.Journal.AsNoTracking().ProjectTo<JournalDTO>());

我原来的工作代码是这样的

Mapper.CreateMap<Journal, JournalDTO>().ReverseMap();
var journals = Mapper.Map<ObservableCollection<Journal>>    
          (context.Journal.AsNoTracking().ProjectTo<JournalDTO>());

没看出来是什么问题,我跟着this

感谢您的关注

您正在混合使用静态和非静态 API,您需要选择其中之一。混合的部分是 ProjectTo,非静态版本将 MapperConfiguration 作为参数。

var journals = mapper.Map<ObservableCollection<Journal>>(context.Journal.AsNoTracking().ProjectTo<JournalDTO>(configuration));

仍然支持静态 API,但如果您想走那条路,您只需要使用 Mapper.Initialize。