У меня есть следующая настройка картографирования
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
, но мне интересно, есть ли лучший способ сделать это.