Mapster 4.1.1

A fast, fun and stimulating object to object mapper.  Kind of like AutoMapper, just simpler and way, way faster.

Install-Package Mapster -Version 4.1.1
dotnet add package Mapster --version 4.1.1
<PackageReference Include="Mapster" Version="4.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Mapster --version 4.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Mapster Icon

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 4.0

  • Two ways mapping
  • Unflattening
  • Map & ignore by property path
  • MaxDepth
  • Map to constructor

Why Mapster?

Performance

Don't let other libraries slow you down, Mapster performance is at least 2.5 times faster!
And 3.x times faster with FastExpressionCompiler and Mapster CodeGen!

image

Step into debugging

Step-into debugging lets you debug your mapping and inspect values as same as its your code.
image

Code Generation NEW!!

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

Mapster Icon

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 4.0

  • Two ways mapping
  • Unflattening
  • Map & ignore by property path
  • MaxDepth
  • Map to constructor

Why Mapster?

Performance

Don't let other libraries slow you down, Mapster performance is at least 2.5 times faster!
And 3.x times faster with FastExpressionCompiler and Mapster CodeGen!

image

Step into debugging

Step-into debugging lets you debug your mapping and inspect values as same as its your code.
image

Code Generation NEW!!

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

Showing the top 8 GitHub repositories that depend on Mapster:

Repository Stars
bing-framework/Bing.NetCore
Bing是基于 .net core 2.0 的框架,旨在提升团队的开发输出能力,由常用公共操作类(工具类、帮助类)、分层架构基类,第三方组件封装,第三方业务接口封装等组成。
tinohager/Nager.Date
C# Worldwide public holiday calculation. Please star (★) this project!
fluentsprings/ExpressMapper
Mapping .Net types
agileobjects/AgileMapper
A zero-configuration, highly-configurable object-object mapper with viewable execution plans. Projects queries, transforms, deep clones, updates and merges via extension methods, or a static or instance API. Targets .NET Standard 1.0+ and .NET 3.5+
SkyChenSky/Sikiro.Tookits
Base And Frequently-used Tools Library.You can use it on nuget
DogusTeknoloji/BatMap
🦇 Convention-based, fast object mapper.
stoveproject/Stove
Domain Driven Design oriented application framework, meets CRUD needs
MUnique/OpenMU
This project aims to create an easy to use, extendable and customizable server for a MMORPG called "MU Online".

Version History

Version Downloads Last updated
4.1.1 0 10/19/2019
4.1.0 52,588 6/15/2019
4.0.0 52,182 4/13/2019
3.3.2 33,269 3/6/2019
3.3.1 24,118 2/5/2019
3.3.0 3,874 1/29/2019
3.2.0 107,263 9/9/2018
3.1.8 156,187 11/16/2017
3.1.7 1,622 11/11/2017
3.1.6 21,028 10/15/2017
3.1.5 1,995 10/9/2017
3.1.4 3,212 10/1/2017
3.1.3 26,631 8/22/2017
3.1.1 15,790 6/19/2017
3.1.0 3,803 6/11/2017
3.0.4 3,657 5/28/2017
2.6.1 29,423 12/8/2016
2.6.0 1,112 12/3/2016
2.5.0 30,375 8/7/2016
2.4.3 2,401 7/14/2016
2.4.2 1,172 7/4/2016
2.4.1 1,183 6/22/2016
2.4.0 1,061 6/18/2016
2.3.0 6,940 3/18/2016
2.1.2 3,712 2/15/2016
2.1.1 1,176 1/29/2016
2.1.0 1,280 1/25/2016
2.0.4 995 1/21/2016
2.0.3 1,009 1/20/2016
2.0.2 935 1/19/2016
2.0.1 945 1/19/2016
2.0.0 931 1/19/2016
1.14.0 11,510 3/4/2015
1.12.0 1,173 3/2/2015