Adr.SimpleMapper
2.2.0
dotnet add package Adr.SimpleMapper --version 2.2.0
NuGet\Install-Package Adr.SimpleMapper -Version 2.2.0
<PackageReference Include="Adr.SimpleMapper" Version="2.2.0" />
paket add Adr.SimpleMapper --version 2.2.0
#r "nuget: Adr.SimpleMapper, 2.2.0"
// Install Adr.SimpleMapper as a Cake Addin
#addin nuget:?package=Adr.SimpleMapper&version=2.2.0
// Install Adr.SimpleMapper as a Cake Tool
#tool nuget:?package=Adr.SimpleMapper&version=2.2.0
Version 2.2.0 is here
Quick Start
Default Mapping
public class Order
{
public string Id {get; set;}
public DateTime PlacementDate {get; set;}
public bool IsGift {get; set;}
}
public class PendingOrder : BaseMappable<Order, PendingOrder>
{
public string Id {get; set;}
public string Status {get; set;}
public bool IsGift {get; set;}
public DateTime PlacementDate {get; set;}
}
public void PerformTheMapping()
{
var order = _orderRepo.Get("A124B2");
var mapSlave = new PendingOrder();
//`mappedEntity` is of type `PendingOrder`
var mappedEntity = mapSlave.Map(order);
}
From the above example, we can see that the mapping attributes go on the result class and not the source class. We can also see that PendingOrder
contains property: Status
which Order
does not. By default, SimpleMapper only maps common properties. This can be overriden with the RequireAllPropertiesAttribute
. See below for an example
Using RequireAllPropertiesAttribute
public class Cat
{
public string Breed {get; set;}
public double Weight {get; set;}
}
[RequireAllProperties]
public class WildCat : BaseMappable<Cat, WildCat>
{
public string Breed {get; set;}
public string Weight {get; set;}
public string Region {get; set;}
}
When performing a call to Map
on WildCat
a MissingMemberException
will be thrown.
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. |
.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.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Moved mapping attributes to result class as opposed to the old way of being on the source class
- Added support for nullable property types