Automapper允许您定义映射并使用以下语法调用它:
Mapper.CreateMap<Order, OrderDto>();
OrderDto dto = Mapper.Map<OrderDto>(order);
是否可以使用排序谓词来指定目标类型?
Mapper.CreateMap<Order, FooType>().Where(s => s["_type"].ToString() == "Foo");
Mapper.CreateMap<Order, BarType>().Where(s => s["_type"].ToString() == "Bar");
FooType 和 BarType 都具有与源类型内部字典中单独键值相对应的内部属性。
为了正确映射这些值,我需要确定它们是否存在,在这种情况下由_type键的值决定。
编辑:如果可能,使用Mapper.Map&lt;&gt;()的语法是什么??
答案 0 :(得分:0)
您可以为每个属性设置地图条件,查看以下示例:
Mapper.CreateMap<Source, Target>()
.ForMember(dest => dest.Value,
opt => opt.MapFrom
(src => src.Value1.StartsWith("A") ? src.Value1 : src.Value2));
和
popver-html