MappingGenerator 2023.1.53

There is a newer version of this package available.
See the version list below for details.
dotnet add package MappingGenerator --version 2023.1.53                
NuGet\Install-Package MappingGenerator -Version 2023.1.53                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MappingGenerator" Version="2023.1.53" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MappingGenerator --version 2023.1.53                
#r "nuget: MappingGenerator, 2023.1.53"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MappingGenerator as a Cake Addin
#addin nuget:?package=MappingGenerator&version=2023.1.53

// Install MappingGenerator as a Cake Tool
#tool nuget:?package=MappingGenerator&version=2023.1.53                

Key features:

Generating mapping method implementation

Generating full mapper class

Generating mapping lambda for Select method

Implementing object cloning

Cleaning up method invocation (reformating, auto-extracting complex parameters, etc)

Method invocation scaffolding

Object initialization scaffolding

Smart snippets for ILogger usages

⭐ Design-time JSON deserializer

Scroll down or check the documentation to find out more.


This software is provided as 👉Freemium👈 which means that some features are available for free, and some features require paid license. More info about that in What you get in the Free version and What you get in the Paid version sections below 👇


Important resources

Product page: https://www.mappinggenerator.net

Features overview: Documentation

Release notes and previous versions: Changelog

Bugs and Feature Requests: Issue Tracker

Check out the Special Offers to save some 💲💲💲


What you get in the Free version

Mapping method implementor

Code action that generates an implementation for different mapping methods based on the method signature:

alternate text is missing from this package README image

Method invocation scaffolder

Code action that automatically completes method invocation with locally available variables

alternate text is missing from this package README image

Initialization block scaffolder

Code action that automatically completes object initialization block with locally available variables:

alternate text is missing from this package README image

Mapping lambda scaffolder

Code action that generates mapping lambda for Select() and ConvertAll() methods

alternate text is missing from this package README image

What you get in the Paid version

UI Mapping configurator

Full access to UI configurator that allows adjusting different aspects of how the mapping code is generated (in the free version you can try it how it works in read-only mode).

alternate text is missing from this package README image

Read more about the UI Configurator possibilities here https://docs.mappinggenerator.net/mappings/ui-configurator/

More matching rules and mapping converters

Premium version contains a much broader set of converters and matching rules that are able to handle more complex mappings:

  • ⭐ String Parsing Converter
  • ⭐ Enum To Enum Converter
  • ⭐ Enum To String Converter
  • ⭐ DataReader To Object
  • ⭐ Object To Dictionary
  • ⭐ Dictionary To Object
  • ⭐ Dictionary To Dictionary
  • ⭐ Dictionary To Collection
  • ⭐ Collection To Dictionary
  • ⭐ Existing Instance Converters
  • ⭐ Existing Static Converters
  • ⭐ Unwrapping Converter

More details

Mapping interface implementor

Code action that generates mapper implementation based on the provided interface:

alternate text is missing from this package README image

More details

Full Mapper generator

MappingGenerator provides code actions for generating a complete mapper class with desired mapping methods:

  • Map A to B - pure mapping method that converts type A to type B.
  • Map B to A - pure mapping method that converts type B to type A.
  • Update A with B - mapping method that updates arguments of type A with values from the argument of type B.
  • Update B with A - mapping method that updates arguments of type B with values from the argument of type A.
  • Project A to B - Linq projection from type A to type B
  • Project B to A - Linq projection from type B to type A.

alternate text is missing from this package README image

More details

Invocation CleanUp refactoring

This code action allows for:

  • Fixing method invocation formatting. We can choose between single and multi-line notation.
  • Toggle arguments’ names.
  • Extract complex arguments to local variables.

More details

alternate text is missing from this package README image

Invocation Scaffolder

Have you ever been struggling with completing a method's long parameter list? What do you feel when you've got lost in the middle because there are a few similar overloads? This premium feature allows for quick scaffolding of complete method invocation.

alternate text is missing from this package README image

More details

Advanced Object Scaffolder

This module allows for the customization of how the object initialization is scaffolded:

  • Option to choose value generation strategy
  • Chose between new Type() and new() object creation syntax.
  • Limit nesting level (useful for scaffolding recursive types or large object graphs).
  • Define how many elements generate for collection initialization.
  • Control the order of the initialized properties.

alternate text is missing from this package README image

More details

Facility for logging

A set of scaffoldings that facilitate the usage of Microsoft.Extensions.Logging.ILogger:

  • Automatically inject strongly typed logger and log info about the caught exception.
  • Wrap the selected block with try-catch, inject logger if needed, and log the exception
  • Wrap the selected block with logging scope
  • Inject logger and insert logger accessor

Automatically inject strongly typed logger and log info about the caught exception. Learn more about this feature here

alternate text is missing from this package README image

More details

Using along with Resharper

If you are not able to access MappingGenerator via the context menu (alt + enter or ctr + . ) please verify your Resharper settings related to Visual Studio Integration or Visual Studio code analysis (depends on the R# version). You can read more about proper Resharper configuration for Roslyn extensions here https://docs.mappinggenerator.net/basics/using-with-resharper/

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on MappingGenerator:

Package Downloads
Reo.Core.Events

Package Description

Reo.MnoApi.Sensors

Package Description

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on MappingGenerator:

Repository Stars
rabbal/DNTFrameworkCore
Lightweight and Extensible Infrastructure for Building Web Applications - Web Application Framework
Version Downloads Last updated
2023.7.64 119,118 11/27/2023
2023.7.62 2,900 11/12/2023
2023.7.61 100,899 8/1/2023
2023.7.60 598 7/31/2023
2023.7.57 4,991 7/8/2023
2023.3.56 35,798 3/27/2023
2023.3.55 7,550 3/6/2023
2023.2.54 13,956 2/21/2023
2023.1.53 51,867 1/10/2023
2023.1.52 11,053 1/8/2023
2023.1.51 5,936 1/2/2023
2022.9.50 9,821 12/13/2022
2022.9.49 34,911 9/25/2022
2022.9.48 2,395 9/21/2022
2022.8.47 10,997 8/30/2022
2022.7.46 5,542 8/14/2022
2022.7.45 13,812 7/9/2022
2022.4.44 28,708 4/18/2022
2022.4.43 2,201 4/12/2022
2022.4.42 11,091 4/3/2022
2022.3.40 7,469 2/27/2022
2022.2.39 16,296 2/17/2022
2022.1.38 3,282 1/26/2022
2022.1.37 2,980 1/16/2022
2021.12.36 1,739 1/9/2022
2021.12.35 37,389 12/20/2021
2021.10.33 5,894 12/9/2021
2021.10.32 11,326 12/1/2021
2021.10.30 26,120 10/17/2021
2021.8.29 1,780 10/6/2021
2021.8.28 914 10/4/2021
2021.8.27 18,772 8/24/2021
2021.7.22 10,177 8/11/2021
2021.7.21 635 8/11/2021
2021.7.20 4,095 7/19/2021
2021.6.19 5,275 7/7/2021
2021.6.18 23,722 6/24/2021
2021.6.17 1,322 6/17/2021
2021.6.16 1,505 6/15/2021
2021.6.14 1,540 6/11/2021
2021.6.13 929 6/10/2021
2021.6.12 9,217 6/8/2021
2021.6.11 622 6/7/2021
2021.6.10 5,551 6/1/2021
1.22.3 43,204 3/13/2021
1.22.2 693 3/13/2021
1.22.1.18 65,817 1/21/2021
1.22.0.17 727 1/20/2021
1.21.15 6,531 1/5/2021
1.21.13 741 1/2/2021
1.21.11 608 1/2/2021
1.21.9 620 1/2/2021
1.20.463 81,592 11/12/2020
1.19.454 4,325 11/1/2020
1.19.452 786 10/31/2020
1.18.448 4,784 9/12/2020
1.17.442 2,682 9/2/2020
1.17.437 782 9/1/2020
1.17.435 926 8/31/2020
1.16.411 15,570 6/29/2020
1.16.405 5,437 6/2/2020
1.16.393 722 5/31/2020
1.15.386 716 5/31/2020
1.15.384 889 5/27/2020
1.14.356 1,545 3/23/2020
1.14.348 2,570 1/27/2020
1.12.306 3,369 9/20/2019
1.11.297 918 9/6/2019
1.10.281 828 8/26/2019
1.5.203 4,278 10/21/2018