我具有以下映射器设置
public class InnerDest
{
public int B { get; set; }
}
public class OuterDest
{
public int A { get; set; }
public InnerDest Inner { get; set; }
}
public class FlatSource
{
public int A { get; set; }
public int? B { get; set; }
}
CreateMap<InnerDest, FlatSource>(MemberList.Source)
.ReverseMap();
CreateMap<OuterDest, FlatSource>()
.IncludeMember(dest => dest.Inner)
.ReverseMap()
.ForMember(dest => dest.Inner, opt => opt.Condition(source => source.B.HasValue()));
这个想法是使属性Inner
是可选的,但是它不起作用。无论条件如何,始终设置该属性。现在我用AfterMap
来做,但是我想知道是否有更好的办法。