Mapster 3.2.0

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

There is a newer version of this package available.
See the version list below for details.
Install-Package Mapster -Version 3.2.0
dotnet add package Mapster --version 3.2.0
<PackageReference Include="Mapster" Version="3.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Mapster --version 3.2.0
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<TDestination>();
Mapping to an existing object

You make the object, Mapster maps to the object.

TDestination destObject = new TDestination();
destObject = 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();
}

Performance

Don't let other libraries slow you down, raw Mapster performance is at least 2.5 times faster!

image

And you can boost another 1.3 - 4.0 times faster with FastExpressionCompiler!

What's new in 3.0

Debugging generated mapping function!
image

Mapping your DTOs directly to EF6!

var poco = dto.BuildAdapter()
              .CreateEntityFromContext(db)
              .AdaptToType<DomainPoco>();

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<TDestination>();
Mapping to an existing object

You make the object, Mapster maps to the object.

TDestination destObject = new TDestination();
destObject = 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();
}

Performance

Don't let other libraries slow you down, raw Mapster performance is at least 2.5 times faster!

image

And you can boost another 1.3 - 4.0 times faster with FastExpressionCompiler!

What's new in 3.0

Debugging generated mapping function!
image

Mapping your DTOs directly to EF6!

var poco = dto.BuildAdapter()
              .CreateEntityFromContext(db)
              .AdaptToType<DomainPoco>();

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.0 51,136 6/15/2019
4.0.0 51,524 4/13/2019
3.3.2 33,075 3/6/2019
3.3.1 24,021 2/5/2019
3.3.0 3,873 1/29/2019
3.2.0 106,778 9/9/2018
3.1.8 155,751 11/16/2017
3.1.7 1,618 11/11/2017
3.1.6 20,866 10/15/2017
3.1.5 1,993 10/9/2017
3.1.4 3,206 10/1/2017
3.1.3 26,598 8/22/2017
3.1.1 15,779 6/19/2017
3.1.0 3,802 6/11/2017
3.0.4 3,653 5/28/2017
2.6.1 29,409 12/8/2016
2.6.0 1,112 12/3/2016
2.5.0 30,317 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,919 3/18/2016
2.1.2 3,710 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,499 3/4/2015
1.12.0 1,169 3/2/2015
Show less