.Net Object to object mapper library. Provides shallow and deep copy mapping of objects and collections.
EntityMapper.Mapper.Configure(cfg =>
{
cfg.ClearMappings();
cfg.CreateMap<A, A>(reversal: false);
cfg.CreateMap<B, B>(reversal: false);
cfg.CreateMap<A, ADto>(reversal: true);
cfg.CreateMap<B, BDto>(reversal: true);
cfg.Compile();
});
EntityMapper.Mapper.Configure(cfg =>
{
cfg.ClearMappings();
cfg.CreateMap<B, BDto>(reversal: true).Ignore("PropertyName1", "PropertyName2");
cfg.Compile();
});
EntityMapper.Mapper.Configure(cfg =>
{
cfg.ClearMappings();
cfg.CreateMap<C, CDto>(reversal: true).CustomMappings(
(source, dest) =>
{
if(source.Age > 5)
dest.NewAge = source.Age;
},
(source, dest) => { dest.Color = source.Name; }
);
cfg.Compile();
});
A source = new A();
B result = EntityMapper.Mapper.Current.Map<A, B>(source);
List<A> source = new List<A>(){new A(), new A()};
List<B> result = EntityMapper.Mapper.Current.MapList<List<A>, List<B>(source);