AgileMapper is a zero-configuration, highly-configurable object-object mapper with viewable execution plans. It projects queries, transforms, deep clones, updates and merges via extension methods, or a static or instance API. It targets .NET Standard 1.0+ and .NET 3.5+
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 information!