MappingGenerator 2023.7.64
dotnet add package MappingGenerator --version 2023.7.64
NuGet\Install-Package MappingGenerator -Version 2023.7.64
<PackageReference Include="MappingGenerator" Version="2023.7.64" />
paket add MappingGenerator --version 2023.7.64
#r "nuget: MappingGenerator, 2023.7.64"
// Install MappingGenerator as a Cake Addin #addin nuget:?package=MappingGenerator&version=2023.7.64 // Install MappingGenerator as a Cake Tool #tool nuget:?package=MappingGenerator&version=2023.7.64
Key features:
⭐ Generating mapping method implementation
⭐ Generating full mapper class
⭐ Generating mapping lambda for Select
method
⭐ 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:
Method invocation scaffolder
Code action that automatically completes method invocation with locally available variables
Initialization block scaffolder
Code action that automatically completes object initialization block with locally available variables:
Mapping lambda scaffolder
Code action that generates mapping lambda for Select()
and ConvertAll()
methods
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).
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
Mapping interface implementor
Code action that generates mapper implementation based on the provided interface:
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.
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.
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.
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()
andnew()
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.
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
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/
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 | 120,918 | 11/27/2023 |
2023.7.62 | 2,906 | 11/12/2023 |
2023.7.61 | 102,698 | 8/1/2023 |
2023.7.60 | 601 | 7/31/2023 |
2023.7.57 | 5,007 | 7/8/2023 |
2023.3.56 | 35,860 | 3/27/2023 |
2023.3.55 | 7,551 | 3/6/2023 |
2023.2.54 | 13,987 | 2/21/2023 |
2023.1.53 | 51,867 | 1/10/2023 |
2023.1.52 | 11,053 | 1/8/2023 |
2023.1.51 | 5,956 | 1/2/2023 |
2022.9.50 | 9,821 | 12/13/2022 |
2022.9.49 | 34,967 | 9/25/2022 |
2022.9.48 | 2,401 | 9/21/2022 |
2022.8.47 | 11,003 | 8/30/2022 |
2022.7.46 | 5,573 | 8/14/2022 |
2022.7.45 | 13,842 | 7/9/2022 |
2022.4.44 | 28,747 | 4/18/2022 |
2022.4.43 | 2,201 | 4/12/2022 |
2022.4.42 | 11,107 | 4/3/2022 |
2022.3.40 | 7,475 | 2/27/2022 |
2022.2.39 | 16,302 | 2/17/2022 |
2022.1.38 | 3,282 | 1/26/2022 |
2022.1.37 | 2,985 | 1/16/2022 |
2021.12.36 | 1,757 | 1/9/2022 |
2021.12.35 | 37,535 | 12/20/2021 |
2021.10.33 | 5,916 | 12/9/2021 |
2021.10.32 | 11,326 | 12/1/2021 |
2021.10.30 | 26,128 | 10/17/2021 |
2021.8.29 | 1,780 | 10/6/2021 |
2021.8.28 | 914 | 10/4/2021 |
2021.8.27 | 18,789 | 8/24/2021 |
2021.7.22 | 10,179 | 8/11/2021 |
2021.7.21 | 635 | 8/11/2021 |
2021.7.20 | 4,095 | 7/19/2021 |
2021.6.19 | 5,318 | 7/7/2021 |
2021.6.18 | 23,875 | 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,235 | 6/8/2021 |
2021.6.11 | 622 | 6/7/2021 |
2021.6.10 | 5,554 | 6/1/2021 |
1.22.3 | 43,263 | 3/13/2021 |
1.22.2 | 693 | 3/13/2021 |
1.22.1.18 | 66,209 | 1/21/2021 |
1.22.0.17 | 727 | 1/20/2021 |
1.21.15 | 6,543 | 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,678 | 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,591 | 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,374 | 9/20/2019 |
1.11.297 | 918 | 9/6/2019 |
1.10.281 | 828 | 8/26/2019 |
1.5.203 | 4,288 | 10/21/2018 |