Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Automapper(4.2.1)抛出异常;缺少地图……”;即使地图是在上面的线上创建的_C#_Automapper - Fatal编程技术网

C# Automapper(4.2.1)抛出异常;缺少地图……”;即使地图是在上面的线上创建的

C# Automapper(4.2.1)抛出异常;缺少地图……”;即使地图是在上面的线上创建的,c#,automapper,C#,Automapper,我一直在尝试升级到Automapper 4,但运气不好。这会引发一个异常,即映射丢失,而映射未丢失 var configuration = new MapperConfiguration(cfg => { cfg.CreateMap<Journal, JournalDTO>(); cfg.CreateMap<JournalDTO, Journal>(); }); var mapper = configuration.

我一直在尝试升级到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>());
var配置=新的MapperConfiguration(cfg=>
{
CreateMap();
CreateMap();
});
var mapper=configuration.CreateMapper();
var journals=mapper.Map(context.Journal.AsNoTracking().ProjectTo());
我以前的工作代码是这样的

Mapper.CreateMap<Journal, JournalDTO>().ReverseMap();
var journals = Mapper.Map<ObservableCollection<Journal>>    
          (context.Journal.AsNoTracking().ProjectTo<JournalDTO>());
Mapper.CreateMap().ReverseMap();
var journals=Mapper.Map
(context.Journal.AsNoTracking().ProjectTo());
我不明白问题出在哪里,我照做了


感谢您的关注

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

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

静态API仍然受支持,但您只需使用Mapper即可。如果您想这样做,请进行初始化。

非常感谢,这是可行的:)我没有注意到我需要将配置传递给ProjectTo。在我的情况下,我完全忘了传递它一次,并且绞尽脑汁想为什么会丢失该映射!谢谢你的提醒!