TheWolf.Mapper
1.0.1
dotnet add package TheWolf.Mapper --version 1.0.1
NuGet\Install-Package TheWolf.Mapper -Version 1.0.1
<PackageReference Include="TheWolf.Mapper" Version="1.0.1" />
paket add TheWolf.Mapper --version 1.0.1
#r "nuget: TheWolf.Mapper, 1.0.1"
// Install TheWolf.Mapper as a Cake Addin
#addin nuget:?package=TheWolf.Mapper&version=1.0.1
// Install TheWolf.Mapper as a Cake Tool
#tool nuget:?package=TheWolf.Mapper&version=1.0.1
TheWolf.Mapper
A .NET Standard Library for a simple mapping of objects to another objects. As exmaple entity to dto and reverse.
Installing
Install the latest nuget package from https://www.nuget.org/packages/TheWolf.Mapper/.
Install-Package TheWolf.Mapper
You can also use the nuget package manager for searching and installing this package.
Basic usage
Create a new class which inherits from the MapperBase<ObjectA, ObjectB>.
public class ExampleMapper : MapperBase<ExampleEntity, ExampleDto>
{
}
Create an instance and map your objects.
var mapper = new ExampleMapper();
var exampleDto = mapper.Map(exampleEntity);
If the target property has the same type as the source property and also both has the same name, it automatically maps the value.
Special mappings
The function names for create special mappings has a specifically structure.
[target property type] CreateMap[target type][target property name]([source type] sourceType)
An example looks like:
DateTime CreateMapExampleDtoTime(ExampleEntity exampleEntity)
So a special mapping can be implemented very easily.
public int? CreateMapExampleDtoExampleChildEntitesCount(ExampleEntity entity)
{
return entity.ExampleChildEntities?.Count;
}
Dependency Injection
If there are moments which has to be implemented with DI, there is a way to do this.
For an example in .NET Core you can register your mappers like this:
var serviceProvider = new ServiceCollection().AddSingleton(typeof(IMapperBase<ExampleEntity, ExampleDto>), typeof(ExampleMapper))
So now, you can add constructor DI actions.
public class ExampleMapper : MapperBase<ExampleEntity, ExampleDto>
{
private readonly ILogger<ExampleMapper> _logger;
public ExampleMapper(ILogger<ExampleMapper> logger)
{
_logger = logger;
}
}
In that case you can use the mapper with GetService().
var mapper = serviceProvider.GetService(typeof(IMapperBase<ExampleEntity, ExampleDto>)) as ExampleMapper;
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.
Version | Downloads | Last updated |
---|