我只是在目标值为null时才尝试复制源值。我使用以下地图
Mapper.CreateMap<BM.AudioSetting, BM.AudioSetting>()
.ForMember(dest => dest.MSOffsetInherited, opt =>
{
opt.Condition(src => src.DestinationValue == null);
opt.MapFrom(src => src.MSOffset);
});
在我的情况下,我正在检查以确保映射前目标值为null。问题是无论目标值如何,都会一直在进行复制。
我这样做错了吗?
由于 ISAM
答案 0 :(得分:0)
您的代码应该可以正常运行。可能你期望src.DestinationValue成为目标对象的属性。如果是这样,自定义type converter应该可以帮助您实现所需的行为。
This post可以帮助您创建自定义类型转换器。
答案 1 :(得分:0)
我注意到您的源和目标类型是相同的。当目标值为null时,您实际上是在尝试克隆对象吗?如果是这样,那么根据此问题的评论,AutoMapper可能不是合适的解决方案:Copy object to object (with Automapper ?)