A convention-based object-object mapper.
AutoMapper uses a fluent configuration API to define an object-object mapping strategy. AutoMapper uses a convention-based matching algorithm to match up source to destination values. AutoMapper 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.
AutoMapper supports the following platforms:
- .NET 4.6.1+
- .NET Standard 2.0+ https://docs.microsoft.com/en-us/dotnet/standard/net-standard
New to AutoMapper? Check out the Getting Started Guide page first.
- Reverse Mapping and Unflattening
- Configuration Validation
- Inline Mapping
- Lists and Arrays
- Nested Mappings
- Custom Type Converters
- Custom Value Resolvers
- Value Converters
- Value Transformers
- Null Substitution
- Before and After Map Action
- Dependency Injection
- Mapping Inheritance
- Queryable Extensions
- Attribute Mapping
- Conditional Mapping
- Open Generics
- Dynamic and ExpandoObject Mapping
- Expression Translation (UseAsDataSource)
The source code contains unit tests for all of the features listed above. Use the GitHub search to find relevant examples.