Table of Contents

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<> to PageDto<> 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.