A convention-based object-object mapper.
MagicMapper uses a fluent configuration API to define an object-object mapping strategy. MagicMapper uses a convention-based matching algorithm to match up source to destination values. MagicMapper is geared towards model projection scenarios to flatten complex object models to DTOs and other simple objects, whose design is better suited for serialization, communication, messaging, or simply an anti-corruption layer between the domain and application layer.
New to MagicMapper? Check out the Getting Started Guide page first.
Overview
Features
Extensibility
Upgrading
ForAllMaps, ForAllPropertyMaps, Advanced and other “missing” APIsCreateProjectionSystem.ComponentModel.TypeConverter is no longer supportedMapToAttribute and IgnoreMapAttribute were removedForAllOtherMembers was removedItem property)Context.Mapper.Map overloads that receive a context were removedUseDestinationValue is now inherited by defaultAllowNull allows you to override per member AllowNullDestinationValues and AllowNullCollectionsResolutionContext no longer has a public constructordynamic in .NET 4.6.1MaxDepthMapFrom-s are reversed now, also applies to attribute mappingReverseMap will also reverse the naming conventionsThe source code contains unit tests for all of the features listed above. Use the GitHub search to find relevant examples.
The latest builds can be found at NuGet
The dev builds can be found at MyGet
The discussion group is hosted on Google Groups