2

仅当目标值为空时,我才尝试复制源值。我正在使用以下地图

 Mapper.CreateMap<BM.AudioSetting, BM.AudioSetting>()
        .ForMember(dest => dest.MSOffsetInherited, opt =>
                                                       {
                                                           opt.Condition(src => src.DestinationValue == null);
                                                           opt.MapFrom(src => src.MSOffset);
                                                       });

在我的情况下,我正在检查以确保在映射之前目标值为 null。问题是无论目标值如何,复制一直在发生。

我做错了吗?

谢谢伊萨姆

4

2 回答 2

0

您的代码应该可以正常工作。可能您期望 src.DestinationValue 成为目标对象的属性。如果是这样,自定义类型转换器应该可以帮助您实现所需的行为。

这篇文章应该可以帮助您创建自定义类型转换器。

于 2012-10-17T19:37:03.220 回答
0

我注意到您的源和目标类型是相同的。当目标值为空时,您实际上是在尝试克隆对象吗?如果是这样,那么根据对这个问题的评论,AutoMapper 可能不是合适的解决方案:Copy object to object (with Automapper ?)

于 2012-11-03T02:13:53.157 回答