C# Automapper(4.2.1)抛出异常;缺少地图……”;即使地图是在上面的线上创建的
我一直在尝试升级到Automapper 4,但运气不好。这会引发一个异常,即映射丢失,而映射未丢失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.
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。在我的情况下,我完全忘了传递它一次,并且绞尽脑汁想为什么会丢失该映射!谢谢你的提醒!