• Stars
    star
    455
  • Rank 95,641 (Top 2 %)
  • Language
    C#
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A zero-configuration, highly-configurable, unopinionated object mapper with viewable execution plans. Flattens, unflattens, deep clones, merges, updates and projects queries. .NET 3.5+ and .NET Standard 1.0+.

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!