Home

Awesome

AgileMapper

NuGet version Build status

AgileMapper is a zero-configuration, highly-configurable, unopinionated object mapper with viewable execution plans. It flattens, unflattens, deep clones, merges, updates and projects queries via extension methods, or a static or instance API. It targets .NET 3.5+ and .NET Standard 1.0+.

You can use it to create new objects:

var customerDto = Mapper.Map(customer).ToANew<CustomerDto>();

...project queries:

var customerDtos = await context
    .Customers
    .Project().To<CustomerDto>()
    .ToArrayAsync();

...perform id-aware updates:

Mapper.Map(customerViewModel).Over(customer);

...and merges:

Mapper.Map(customerOne).OnTo(customerTwo);

It's available via NuGet and licensed with the MIT licence. Check out the documentation for more!