我有两个类之间的映射:
CreateMap<A, B>()
.ForMember(b => b.Foo, cfg => cfg.MapFrom(a => a.Aoo.Foo))
.ReverseMap()
.IgnoreAllPropertiesWithAnInaccessibleSetter()
.IgnoreAllSourcePropertiesWithAnInaccessibleSetter()
.ForMember(a => a.Aoo, opts => opts.Ignore());
我希望,仅从上一个Ignore()
开始,当将B映射到A时,Automapper不会尝试为A赋值。但是,我在这里做了这样的事情:
var a = _mapper.Map<A>(b);
我得到以下例外:
System.NullReferenceException : typeMapDestination.Aoo cannot be null because it's used by ForPath.
为什么要在这里指定一个值?我甚至查看了源代码,只有当该属性的setter为null时才会抛出此异常!