Namespace Mapperion
Classes
- ExactMatchNamingConvention
Names taken exactly as written, with no word structure read into them.
- LowerUnderscoreNamingConvention
Names that separate words with an underscore, such as
first_name.
- MapperConfiguration
The entry point: runs the configuration callback once and freezes the result into a model. Building is a startup cost; the resulting instance is immutable and safe to share.
- MapperConfigurationException
Thrown when the mapper configuration is invalid. Reports every problem found, not just the first one, so a single startup run surfaces all of them.
- MapperExtensions
Ways into the mapper that trade a little of the interface's convenience for speed.
- MapperHost
Holds one mapper for code that has no way to receive it, such as a .NET Framework application without a container.
- MapperionException
Base type for every exception thrown by Mapperion.
- MappingException
Thrown when a mapping fails at run time. Carries the full member path that failed.
- PascalCaseNamingConvention
Names that separate words by capitalising each one, such as
FirstName. This is how both sides are read unless told otherwise.
- Profile
Groups related maps so a module can own its own configuration. Derive from this class, declare the maps in the constructor, and register it with AddProfile<TProfile>().
- QueryableExtensions
Turns a query over entities into a query over destination types, so the database returns only the columns the destination needs.
- RecursionLimitException
Thrown when a map that can reach itself has recursed past the configured limit, which means the object graph loops and nothing in the configuration stops it.
- ServiceCollectionExtensions
Registers Mapperion with IServiceCollection.
Structs
- ResolutionContext
What a converter or resolver is given about the operation it takes part in. Mostly a way back into the mapper, so user code can map nested values without holding a reference itself.
Interfaces
- ICtorParamConfigurationExpression<TSource>
Configures how one constructor parameter of the destination is supplied.
- IMapper
Performs object-to-object mapping using a configuration built at startup. Instances are immutable and safe for concurrent use.
- IMapperConfigurationExpression
The surface handed to the configuration callback. Every setting here applies to all maps unless a single map overrides it.
- IMappingAction<TSource, TDestination>
A step that runs before or after a map, reusable across configurations. Use it instead of a lambda when the step needs its own type, for example to be tested on its own.
- IMappingExpression<TSource, TDestination>
Configures the map between one source type and one destination type.
- IMappingOperationOptions
What the caller can set for one mapping operation, as opposed to for the configuration.
- IMemberConfigurationExpression<TSource, TDestination, TMember>
Configures how one destination member is populated.
- INamingConvention
Says how the member names on one side of a map are written, so that names following two different spellings still match each other.
- IOpenMappingExpression
Configures a map declared with types rather than type arguments, which is how an open generic pair such as
Page<>toPageDto<>is declared.
- ISourceMemberConfigurationExpression
What can be said about a member of the source.
- ITypeConverter<TSource, TDestination>
Replaces the mapping of one type pair entirely. When a map has a type converter, member configuration is not used at all: the converter produces the destination on its own.
- IValueConverter<TSourceMember, TDestinationMember>
Converts one value into another, reusable across any member with the same pair of types.
- IValueResolver<TSource, TDestination, TDestinationMember>
Produces the value of one destination member with the whole source and destination in hand, for cases a single expression cannot express.