Mapster 5.2.0
See the version list below for details.
dotnet add package Mapster --version 5.2.0
NuGet\Install-Package Mapster -Version 5.2.0
<PackageReference Include="Mapster" Version="5.2.0" />
paket add Mapster --version 5.2.0
#r "nuget: Mapster, 5.2.0"
// Install Mapster as a Cake Addin #addin nuget:?package=Mapster&version=5.2.0 // Install Mapster as a Cake Tool #tool nuget:?package=Mapster&version=5.2.0
Mapster - The Mapper of Your Domain
Writing mapping method is machine job. Do not waste your time, let Mapster do it.
Get it
PM> Install-Package Mapster
Basic usage
Mapping to a new object
Mapster creates the destination object and maps values to it.
var destObject = sourceObject.Adapt<Destination>();
Mapping to an existing object
You make the object, Mapster maps to the object.
sourceObject.Adapt(destObject);
Queryable Extensions
Mapster also provides extensions to map queryables.
using (MyDbContext context = new MyDbContext())
{
// Build a Select Expression from DTO
var destinations = context.Sources.ProjectToType<Destination>().ToList();
// Versus creating by hand:
var destinations = context.Sources.Select(c => new Destination {
Id = p.Id,
Name = p.Name,
Surname = p.Surname,
....
})
.ToList();
}
What's new in Mapster 5.0
- Generate dynamic proxy for interface
- UseDestinationValue
- Null propagating for property path
- Support multiple sources
- New plugins
Why Mapster?
Performance & Memory efficient
Mapster was designed to be efficient on both speed and memory. You could gain 5x faster while using only 1/3 of memory. And you could gain to 12x faster with
| Method | Mean | Allocated |
|-------------------------- | ---------:|----------:|
| 'Mapster 5.0.0' | 141.84 ms | 125.12 MB |
| 'Mapster 5.0.0 (Roslyn)' | 60.48 ms | 125.12 MB |
| 'Mapster 5.0.0 (FEC)' | 58.17 ms | 119.02 MB |
| 'Mapster 5.0.0 (Codegen)' | 51.56 ms | 125.12 MB |
| 'ExpressMapper 1.9.1' | 299.05 ms | 241.85 MB |
| 'AutoMapper 9.0.0' | 708.06 ms | 364.69 MB |
Step into debugging
Step-into debugging lets you debug your mapping and inspect values as same as its your code.
Code Generation
Mapster CodeGen lets you do mapping with
- Validate mapping at compile time
- Getting raw performance
- Seeing your mapping code & debugging
- Finding usage of your models' properties
Change logs
https://github.com/MapsterMapper/Mapster/releases
Usages
https://github.com/MapsterMapper/Mapster/wiki
Acknowledgements
JetBrains kindly provides Mapster with a free open-source licence for their Resharper and Rider.
- Resharper makes Visual Studio a much better IDE
- Rider is fast & powerful cross platform .NET IDE
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 | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net40 is compatible. net403 was computed. net45 is compatible. net451 was computed. net452 was computed. net46 was computed. 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 | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETStandard 1.3
- Microsoft.CSharp (>= 4.3.0)
- NETStandard.Library (>= 1.6.1)
- System.Linq.Queryable (>= 4.3.0)
- System.Reflection.Emit (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.3.0)
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.3.0)
- System.Reflection.Emit (>= 4.3.0)
NuGet packages (387)
Showing the top 5 NuGet packages that depend on Mapster:
Package | Downloads |
---|---|
Mapster.DependencyInjection
Dependency Injection supports for Mapster |
|
Furion.Extras.ObjectMapper.Mapster
Furion 对象映射 Mapster 插件。 |
|
Mapster.EFCore
EFCore plugin for Mapster |
|
MPACKAGE.LibDomain
Package Description |
|
Mapster.Async
Async supports for Mapster |
GitHub repositories (51)
Showing the top 5 popular GitHub repositories that depend on Mapster:
Repository | Stars |
---|---|
DotNetNext/SqlSugar
.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
|
|
fullstackhero/dotnet-starter-kit
Production Grade Cloud-Ready .NET 8 Starter Kit (Web API + Blazor Client) with Multitenancy Support, and Clean/Modular Architecture that saves roughly 200+ Development Hours! All Batteries Included.
|
|
anjoy8/Blog.Core
💖 ASP.NET Core 8.0 全家桶教程,前后端分离后端接口,vue教程姊妹篇,官方文档:
|
|
aspnetrun/run-aspnetcore-microservices
Microservices on .NET platforms used ASP.NET Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Vertical and Clean Architecture implementation with using latest features of .NET 8 and C# 12
|
|
MonkSoul/Furion
Make .NET development easier, more versatile, and more popular.
|
Version | Downloads | Last updated |
---|---|---|
7.4.1-pre01 | 166,775 | 9/22/2023 |
7.4.0 | 6,130,980 | 9/21/2023 |
7.4.0-pre06 | 168,759 | 2/26/2023 |
7.4.0-pre05 | 50,836 | 1/7/2023 |
7.4.0-pre04 | 7,343 | 1/3/2023 |
7.4.0-pre03 | 153,883 | 6/27/2022 |
7.4.0-pre02 | 21,790 | 4/5/2022 |
7.4.0-pre01 | 37,332 | 4/4/2022 |
7.3.0 | 11,678,148 | 2/20/2022 |
7.2.0 | 5,591,599 | 4/10/2021 |
7.1.5 | 723,978 | 2/24/2021 |
7.1.3 | 227,609 | 1/24/2021 |
7.0.1 | 468,961 | 11/26/2020 |
7.0.0 | 159,768 | 11/12/2020 |
6.5.1 | 370,382 | 10/23/2020 |
6.5.0 | 432,974 | 8/19/2020 |
6.1.1 | 53,343 | 8/6/2020 |
6.0.0 | 32,298 | 7/30/2020 |
5.3.2 | 379,628 | 5/29/2020 |
5.3.1 | 58,852 | 5/12/2020 |
5.3.0 | 157,487 | 4/10/2020 |
5.2.0 | 103,684 | 3/14/2020 |
5.1.0 | 50,355 | 3/3/2020 |
5.0.0 | 888,908 | 2/2/2020 |
4.1.1 | 663,884 | 10/19/2019 |
4.1.0 | 762,387 | 6/15/2019 |
4.0.0 | 299,011 | 4/13/2019 |
3.3.2 | 130,940 | 3/6/2019 |
3.3.1 | 91,431 | 2/5/2019 |
3.3.0 | 110,817 | 1/29/2019 |
3.2.0 | 457,713 | 9/9/2018 |
3.1.8 | 612,346 | 11/16/2017 |
3.1.7 | 2,823 | 11/11/2017 |
3.1.6 | 71,603 | 10/15/2017 |
3.1.5 | 14,334 | 10/9/2017 |
3.1.4 | 6,400 | 10/1/2017 |
3.1.3 | 41,473 | 8/22/2017 |
3.1.1 | 24,836 | 6/19/2017 |
3.1.0 | 7,639 | 6/11/2017 |
3.0.4 | 25,277 | 5/28/2017 |
2.6.1 | 54,398 | 12/8/2016 |
2.6.0 | 2,300 | 12/3/2016 |
2.5.0 | 79,716 | 8/7/2016 |
2.4.3 | 3,756 | 7/14/2016 |
2.4.2 | 2,213 | 7/4/2016 |
2.4.1 | 2,168 | 6/22/2016 |
2.4.0 | 2,105 | 6/18/2016 |
2.3.0 | 28,133 | 3/18/2016 |
2.1.2 | 7,492 | 2/15/2016 |
2.1.1 | 2,213 | 1/29/2016 |
2.1.0 | 2,302 | 1/25/2016 |
2.0.4 | 2,000 | 1/21/2016 |
2.0.3 | 2,013 | 1/20/2016 |
2.0.2 | 1,947 | 1/19/2016 |
2.0.1 | 1,965 | 1/19/2016 |
2.0.0 | 1,964 | 1/19/2016 |
1.14.0 | 21,383 | 3/4/2015 |
1.12.0 | 16,961 | 3/2/2015 |