AutoMapper映射时将对象属性设为Null触发空引用异常求助
解决AutoMapper设置属性为Null时的空引用异常
你遇到的空引用异常是因为ForMember方法的第二个参数不能直接传null,该参数需要一个用于配置成员映射规则的委托,传递null会导致AutoMapper内部调用时触发空引用。
正确实现方式
要将Category属性始终设置为null,可以使用以下两种写法:
方法1:使用MapFrom返回null
CreateMap<Activity, Activity>() .ForMember(dest => dest.Category, opt => opt.MapFrom(src => null));
方法2:使用ResolveUsing直接返回null
CreateMap<Activity, Activity>() .ForMember(dest => dest.Category, opt => opt.ResolveUsing(_ => null));
错误原因说明
原代码中.ForMember(x => x.Category, null )的问题在于,ForMember的第二个参数要求是Action<IMemberConfigurationExpression<Activity, Activity, Category>>类型的委托,当你传递null时,AutoMapper在执行到ForDestinationMember方法时会尝试调用这个委托,而空引用无法被调用,因此抛出NullReferenceException。
内容的提问来源于stack exchange,提问作者Bryan Dellinger
相关产品推荐
相关产品推荐

