ZeroReflection.Mapper
1.0.2
See the version list below for details.
dotnet add package ZeroReflection.Mapper --version 1.0.2
NuGet\Install-Package ZeroReflection.Mapper -Version 1.0.2
<PackageReference Include="ZeroReflection.Mapper" Version="1.0.2" />
<PackageVersion Include="ZeroReflection.Mapper" Version="1.0.2" />
<PackageReference Include="ZeroReflection.Mapper" />
paket add ZeroReflection.Mapper --version 1.0.2
#r "nuget: ZeroReflection.Mapper, 1.0.2"
#:package ZeroReflection.Mapper@1.0.2
#addin nuget:?package=ZeroReflection.Mapper&version=1.0.2
#tool nuget:?package=ZeroReflection.Mapper&version=1.0.2
ZeroReflection.Mapper
ZeroReflection.Mapper is a .NET source generator for object mapping. It enables fast, compile-time mapping between different object types, reducing boilerplate and improving performance.
Features
- Attribute-based mapping configuration
- Custom mapping profiles
- Ignore properties with attributes
- Fast dispatcher for arrays/lists/single objects (if/else or switch jump-table)
- Source-generated, reflection-free property and collection mapping
Getting Started
Add the NuGet package to your project:
dotnet add package ZeroReflection.Mapper
Annotate your classes with mapping attributes and implement mapping profiles as needed.
Using the mapper
- Single object:
var entity = model.MapToPersonEntity(); - Collections:
var list = MapPersonModelToPersonEntity.MapListToPersonEntity(models); - Via
IMapper:mapper.Map<List<PersonEntity>>(models)ormapper.MapSingleObject<PersonModel, PersonEntity>(model).
Configuration Flags
UseSwitchDispatcher(defaulttrue): switch-based jump table vs chained type checks.ThrowIfPropertyMissing(defaultfalse): injects build-time#errorfor unmapped destination properties.EnableProjectionFunctionsis disabled/ignored for AOT safety.
Custom Mappings
Use static methods or Func<TSource,TDestination> delegates. Expression-based mappings are not supported.
AOT / NativeAOT Support
- No runtime reflection for mapping (non-static custom mapping methods are rejected at generation time).
- No dynamic code generation (
Expression.Compile). - Projection members removed.
- Use only static custom mapping methods or delegate overload.
License
MIT
Repository
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ZeroReflection.Mapper:
| Package | Downloads |
|---|---|
|
ZeroReflection.Mapper.Generator
Source generator for ZeroReflection.Mapper - generates mapping code at compile time. |
GitHub repositories
This package is not used by any popular GitHub repositories.