Allow mapping of dynamic types using AutoMapper or similar?

前端 未结 4 1129
攒了一身酷
攒了一身酷 2020-12-02 05:46

I\'ve started to use https://github.com/robconery/massive for a project, I wonder if there is any mapping tool that allows support for Dynamic to static type mapping?

4条回答
  •  南方客
    南方客 (楼主)
    2020-12-02 06:23

    Assuming framework you use returns ExpandoObject you can achieve some sort of dynamic mapping using AutoMapper:

    Mapper.CreateMap()
        .ForAllMembers((options) => options.ResolveUsing((resolution) =>
            {
                var dictionary =  (IDictionary) resolution.Context.SourceValue;
                return dictionary[resolution.Context.MemberName];
            }));
    ...
    dynamic CurUser = _users.GetSingleUser(UserID);   
    var retUser = Mapper.Map(CurUser);
    

    You can create any sort of complex mapping using ConstructUsing methods..

提交回复
热议问题