KonverterMap 1.1.1
dotnet add package KonverterMap --version 1.1.1
NuGet\Install-Package KonverterMap -Version 1.1.1
<PackageReference Include="KonverterMap" Version="1.1.1" />
<PackageVersion Include="KonverterMap" Version="1.1.1" />
<PackageReference Include="KonverterMap" />
paket add KonverterMap --version 1.1.1
#r "nuget: KonverterMap, 1.1.1"
#:package KonverterMap@1.1.1
#addin nuget:?package=KonverterMap&version=1.1.1
#tool nuget:?package=KonverterMap&version=1.1.1
KonverterMap
KonverterMap is a lightweight, convention-based object-to-object mapper for .NET.
It was built as a free and open-source alternative to AutoMapper β offering flexibility, simplicity, and performance for mapping between models and DTOs.
π Full documentation: KonverterMap Docs (English)
β¨ Features
- β Simple object-to-object mapping
- π οΈ Custom property mapping with
.ForMember(...)
- π« Ignore properties with
.Ignore(...)
- π Conditional mapping with
.When(...)
- π Reversible maps with
.ReverseMap()
- π Lifecycle hooks:
.BeforeMap(...)
and.AfterMap(...)
- π Recursive mapping support via
MapFrom(...)
- β‘ Supports implicit mapping (no config required)
- π§ͺ .NET 8 & .NET Framework compatible
- π§± No dependencies. 100% native C#
β‘ Quick Example
Konverter.Instance.CreateMap<User, UserDto>()
.ForMember(dest => dest.FullName, (src, map) => $"{src.FirstName} {src.LastName}")
.Ignore(dest => dest.Password)
.ReverseMap();
var user = new User { FirstName = "FΓ‘bio", LastName = "Oliveira", Password = "secret" };
var dto = Konverter.Instance.Map<User, UserDto>(user);
π§ Advanced Usage
Konverter.Instance.CreateMap<Customer, CustomerDto>()
.ForMember(dest => dest.TotalOrders, (src, map) => src.Orders.Count)
.When(dest => dest.Name, src => !string.IsNullOrWhiteSpace(src.Name))
.BeforeMap((src, dest) => { if (src.Region == null) src.Region = "SP"; })
.AfterMap((src, dest) => dest.LoyaltyPoints += 10)
.ReverseMap();
π§© Implicit Mapping
KonverterMap supports implicit mapping without prior configuration:
var dto = Konverter.Instance.Map<User, UserDto>(user);
// Works if properties match by name and type
See Implicit Mapping for details.
π¦ Installation
Add via NuGet:
dotnet add package KonverterMap
Or search for KonverterMap
on NuGet.org
β Compatibility
- .NET 6, .NET 7, .NET 8
- .NET Framework 4.6.1+
π Documentation
All usage examples and advanced features are fully documented at:
π https://ols-tecnologia.github.io/KonverterMap/
π€ Contributing
Contributions, issues and suggestions are welcome!
- Fork the project
- Create your branch
- Submit a pull request
πͺͺ License
Licensed under the MIT License.
Made with π by FΓ‘bio Oliveira and OLS Tecnologia
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 is compatible. 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
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.