Automapper - Multi object source and one destination

后端 未结 5 2015
情歌与酒
情歌与酒 2020-12-07 22:43

I am using auto mapper to map multiple objects (db class into ui objects).

Map 1:

Mapper.CreateMap().ForMember(sss =>         


        
5条回答
  •  无人及你
    2020-12-07 23:06

    mapper.MergeInto(person, car)
    

    with the accepted answer as extension-methods, simple and general version:

    public static TResult MergeInto(this IMapper mapper, object item1, object item2)
    {
        return mapper.Map(item2, mapper.Map(item1));
    }
    
    public static TResult MergeInto(this IMapper mapper, params object[] objects)
    {
        var res = mapper.Map(objects.First());
        return objects.Skip(1).Aggregate(res, (r, obj) => mapper.Map(obj, r));
    }
    

    after configuring mapping for each input-type:

    IMapper mapper = new MapperConfiguration(cfg =>
    {
        cfg.CreateMap();
        cfg.CreateMap();
    }).CreateMapper();
    

提交回复
热议问题