Riok.Mapperly 4.3.0
Mapperly
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 |