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?
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..