Riok.Mapperly 4.3.0

Mapperly

Nuget Nuget Preview License Downloads GitHub Sponsors GitHub

Mapperly is a .NET source generator for generating object mappings.

Because Mapperly creates the mapping code at build time, there is minimal overhead at runtime. Even better, the generated code is perfectly readable, allowing you to verify the generated mapping code easily.

Documentation

The documentation is available here.

Quickstart

Installation

Add the NuGet Package to your project:

dotnet add package Riok.Mapperly

Create your first mapper

Create a mapper declaration as a partial class and apply the Riok.Mapperly.Abstractions.MapperAttribute attribute. Mapperly generates mapping method implementations for the defined mapping methods in the mapper.

// Mapper declaration
[Mapper]
public partial class CarMapper
{
    public partial CarDto CarToCarDto(Car car);
}

// Mapper usage
var mapper = new CarMapper();
var car = new Car { NumberOfSeats = 10, ... };
var dto = mapper.CarToCarDto(car);
dto.NumberOfSeats.ShouldBe(10);

Read the docs for any further information.

Upgrading

Find a list of breaking changes for each major version and upgrade guides here.

How To Contribute

We would love for you to contribute to Mapperly and help make it even better than it is today! Find information on how to contribute in the docs.

License

Mapperly is Apache 2.0 licensed.

Showing the top 20 packages that depend on Riok.Mapperly.

Packages Downloads
Volo.Abp.Mapperly
Package Description
3
Volo.Abp.Mapperly
Package Description
2

🚀 Features

Support unsafe accessors in generic classes and nested mappers by @latonz in #1814

Support roslyn 4.14 by @latonz in #1837

Allow to disable null mismatch diagnostics RMG089 per member by @3sRykaert in #1804

Include mapping configuration by @faddiv in #1833

Support multiple mapping configuration includes by @latonz in #1854

Explicit named mappings by @faddiv in #1863

Support ref keyword in user defined methods for the target parameter by @EraYaN in #1895

Add notnull constraint support in nullable disabled contexts by @clegoz in #1947

Reference External mappings by @faddiv in #1890

Add support for ignoring static convert methods with MapperIgnore by @iclectic in #1941

🐛 Bug Fixes

Nullable user implemented value type mappings in queryable projections by @latonz in #1835

Resolve top-level user-implemented mappings when resolving queryable projections by @latonz in #1852

Name collision, reuse context within switch statement by @EraYaN in #1911

Correctly inline user-defined nested queryable projection mappings by @latonz in #1966

Handle single segment fullnameof by @faddiv in #1980

Full Changelog: https://github.com/riok/mapperly/compare/v4.2.1...v4.3.0

.NET Standard 2.0

  • No dependencies.

Version Downloads Last updated
4.3.1-next.0 3 12/12/2025
4.3.0 3 12/12/2025
4.3.0-next.6 3 12/12/2025
4.3.0-next.5 3 12/12/2025
4.3.0-next.4 3 12/12/2025
4.3.0-next.3 3 12/12/2025
4.3.0-next.2 3 12/12/2025
4.3.0-next.1 3 12/12/2025
4.3.0-next.0 3 12/12/2025
4.2.1 3 12/12/2025
4.2.1-next.2 3 12/12/2025
4.2.1-next.1 3 12/12/2025
4.2.1-next.0 3 12/12/2025
4.2.0 3 12/12/2025
4.2.0-next.2 2 12/12/2025
4.2.0-next.1 3 12/12/2025
4.2.0-next.0 3 12/12/2025
4.1.1 3 12/12/2025
4.1.1-next.0 3 12/12/2025
4.1.0 3 12/12/2025
4.1.0-next.3 3 12/12/2025
4.1.0-next.2 1 12/12/2025
4.1.0-next.1 3 12/12/2025
4.1.0-next.0 3 12/12/2025
4.0.0 3 12/12/2025
4.0.0-next.4 3 12/12/2025
4.0.0-next.3 3 12/12/2025
4.0.0-next.2 3 12/12/2025
4.0.0-next.1 3 12/12/2025
3.6.0 3 12/12/2025
3.6.0-next.2 3 12/12/2025
3.6.0-next.1 3 12/12/2025
3.5.1 3 12/12/2025
3.5.1-next.2 3 12/12/2025
3.5.1-next.1 1 12/12/2025
3.5.0 3 12/12/2025
3.5.0-next.4 2 12/12/2025
3.5.0-next.3 3 12/12/2025
3.5.0-next.2 3 12/12/2025
3.5.0-next.1 3 12/12/2025
3.4.0 4 12/12/2025
3.4.0-next.5 3 12/12/2025
3.4.0-next.4 3 12/12/2025
3.4.0-next.3 1 12/12/2025
3.4.0-next.2 3 12/12/2025
3.4.0-next.1 3 12/12/2025
3.3.1-next.1 2 12/12/2025
3.3.0 3 12/12/2025
3.3.0-next.6 3 12/12/2025
3.3.0-next.5 3 12/12/2025
3.3.0-next.4 3 12/12/2025
3.3.0-next.3 3 12/12/2025
3.3.0-next.2 4 12/12/2025
3.3.0-next.1 3 12/12/2025
3.2.0 3 12/12/2025
3.2.0-next.4 3 12/12/2025
3.2.0-next.3 2 12/12/2025
3.2.0-next.2 3 12/12/2025
3.2.0-next.1 3 12/12/2025
3.1.0 3 12/12/2025
3.1.0-next.2 2 12/12/2025
3.1.0-next.1 3 12/12/2025
3.0.0 1 12/12/2025
3.0.0-next.1 3 12/12/2025
2.9.0-next.4 3 12/12/2025
2.9.0-next.3 3 12/12/2025
2.9.0-next.2 3 12/12/2025
2.9.0-next.1 3 12/12/2025
2.8.0 3 12/12/2025
2.8.0-next.2 3 12/12/2025
2.8.0-next.1 1 12/12/2025
2.7.1-next.1 3 12/11/2025
2.7.0 3 12/12/2025
2.7.0-next.2 3 12/12/2025
2.7.0-next.1 3 12/12/2025
2.6.0 3 12/12/2025
2.6.0-next.4 3 12/12/2025
2.6.0-next.3 1 12/12/2025
2.6.0-next.2 3 12/12/2025
2.6.0-next.1 3 12/12/2025
2.5.0 3 12/12/2025
2.5.0-next.2 3 12/12/2025
2.5.0-next.1 3 12/12/2025
2.4.1-next.1 3 12/12/2025
2.4.0 3 12/12/2025
2.3.3 3 12/12/2025
2.3.2 3 12/12/2025
2.3.1 3 12/12/2025
2.3.0 1 12/12/2025
2.2.1 3 12/12/2025
2.2.0 2 12/12/2025
2.1.0 3 12/12/2025
2.0.0 3 12/12/2025