DeltaMapper.OpenTelemetry
0.2.0-alpha
This is a prerelease version of DeltaMapper.OpenTelemetry.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package DeltaMapper.OpenTelemetry --version 0.2.0-alpha
NuGet\Install-Package DeltaMapper.OpenTelemetry -Version 0.2.0-alpha
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DeltaMapper.OpenTelemetry" Version="0.2.0-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DeltaMapper.OpenTelemetry" Version="0.2.0-alpha" />
<PackageReference Include="DeltaMapper.OpenTelemetry" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DeltaMapper.OpenTelemetry --version 0.2.0-alpha
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DeltaMapper.OpenTelemetry, 0.2.0-alpha"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DeltaMapper.OpenTelemetry@0.2.0-alpha
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DeltaMapper.OpenTelemetry&version=0.2.0-alpha&prerelease
#tool nuget:?package=DeltaMapper.OpenTelemetry&version=0.2.0-alpha&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
DeltaMapper
Fast, diff-aware .NET object mapper. MIT licensed. Minimal dependencies.
Why DeltaMapper?
- Near-zero overhead — source-generated direct calls run at 7 ns, same as hand-written code
MappingDiff<T>— map and get a structured change set in one call- Source generator —
[GenerateMap]emits assignment code at build time, zero reflection - Full IMapper pipeline — DI, middleware, hooks, EF Core proxy detection, OpenTelemetry tracing
Install
dotnet add package DeltaMapper # core runtime
dotnet add package DeltaMapper.SourceGen # optional: compile-time codegen
dotnet add package DeltaMapper.EFCore # optional: EF Core proxy awareness
dotnet add package DeltaMapper.OpenTelemetry # optional: Activity spans
Requires .NET 10+.
Quick Start
public class UserProfile : MappingProfile
{
public UserProfile()
{
CreateMap<User, UserDto>()
.ForMember(d => d.FullName, o => o.MapFrom(s => $"{s.First} {s.Last}"))
.ReverseMap();
}
}
var mapper = MapperConfiguration.Create(cfg => cfg.AddProfile<UserProfile>())
.CreateMapper();
var dto = mapper.Map<User, UserDto>(user);
Built-in Change Tracking
var diff = mapper.Patch(updateDto, existingUser);
if (diff.HasChanges)
await auditLog.RecordAsync(userId, diff.Changes);
Flattening and Unflattening
Nested objects are flattened to flat DTOs and back automatically — no configuration required.
// Order.Customer.Name → CustomerName (flattening)
CreateMap<Order, OrderFlatDto>();
// CustomerName → Customer.Name (unflattening)
CreateMap<OrderFlatDto, Order>();
Assembly Scanning
// Register all profiles in an assembly in one call
cfg.AddProfilesFromAssemblyContaining<UserProfile>();
Type Converters
// Apply a conversion across every map that has a matching type pair
cfg.CreateTypeConverter<string, DateTime>(s => DateTime.Parse(s));
Performance
| What's being mapped | DeltaMapper | vs Mapperly | vs AutoMapper |
|---|---|---|---|
| Simple object (5 properties) | 7 ns | Same speed | 7x faster |
| Nested object (parent + child) | 24 ns | Same speed, 33% less memory | 2x faster |
| Collection (10 items) | 22 ns | 5x faster, 8x less memory | 8x faster |
Getting Help
- GitHub Issues — bug reports and feature requests
- GitHub Discussions — questions
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- DeltaMapper (>= 0.2.0-alpha)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.0 | 101 | 4/7/2026 |
| 1.1.0 | 101 | 4/6/2026 |
| 1.0.0 | 101 | 4/2/2026 |
| 1.0.0-rc.8 | 58 | 3/23/2026 |
| 1.0.0-rc.7 | 55 | 3/21/2026 |
| 1.0.0-rc.6 | 53 | 3/21/2026 |
| 1.0.0-rc.5 | 55 | 3/21/2026 |
| 1.0.0-rc.4 | 57 | 3/20/2026 |
| 1.0.0-rc.3 | 54 | 3/20/2026 |
| 1.0.0-rc.2 | 50 | 3/20/2026 |
| 1.0.0-rc.1 | 55 | 3/19/2026 |
| 0.2.0-alpha | 90 | 3/19/2026 |
| 0.1.0-alpha | 93 | 3/18/2026 |