条件反向映射

时间:2020-01-22 11:19:11

标签: c# automapper

我具有以下映射器设置

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来做,但是我想知道是否有更好的办法。

1 个答案:

答案 0 :(得分:0)

您可以放下list-style: inside。或保留它,如果您必须:

ReverseMap

选中the execution plan