Mapping Generator
Mapster
Our great sponsors
Mapping Generator | Mapster | |
---|---|---|
3 | 15 | |
920 | 4,128 | |
- | 1.6% | |
6.5 | 5.5 | |
almost 3 years ago | 4 months ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Mapping Generator
-
MappingGenerator went commercial
My name is Cezary Piątek and I'm the author of MappingGenerator plugin. I started working on MappingGenerator at the beginning of 2018. The initial idea was to create a design-time alternative for the well-known AutoMapper library. The plugin was developed as a free and open-source project on GitHub https://github.com/cezarypiatek/MappingGenerator and during those 3 years, it got quite popular (900+ stars and over 10k+ downloads). In the meantime, I made 250+ commits and 40 releases. I really enjoyed my work on MappingGenerator. I spent the last three months (March 2021 - June 2021) working hard on improving MappingGenerator. I solved many issues and added a bunch of new cool features. I also made a general refactoring which restored the project maintainability and finally managed to fix the performance issue that was affecting users with large solutions. All of that cost me a lot of my private time and I did it all by myself, so I decided to convert MappingGenerator into a commercial product. I created a product landing page https://www.mappinggenerator.net/ and on the 1st of June, I started my journey as a self-entrepreneur ;)
You can see some examples on the project old page https://github.com/cezarypiatek/MappingGenerator
- Architecture complexity in the dotnet community & Our duty to beginners
Mapster
-
Dotnet.World.News(Wednesday, September, 20, 2023)
🔴 [Mapster] A fast, fun and stimulating object to object Mapper! Mapster was designed to be efficient on both speed and memory. You could gain a 4x performance improvement whilst using only 1/3 of memory.
-
Object Mapping in .NET
Mapster
-
Is Automapper the most hated library?
Which is the main reason I don't use it anymore. I can still stand behind why it was created and what it was trying to solve. If you still want to use a mapper I would recommend Mapster as it supports source generation so you can see all code and it's references.
-
When using the DTO pattern and rolling your own mappers, is there a shorter way to write the mapping functions?
Gotta add a shoutout to Mapster which does pretty much the same thing also using source generation.
No sure if I understand your problem correctly, but maybe something like Mapster or Mapperly could help with that, given that it can generate source code instead of using reflection or expression trees.
-
AutoMapper's open source code of conduct
I highly recommend Mapster (https://github.com/MapsterMapper/Mapster)
-
What C# tools would you like to use that don't exist today?
We use Mapster coupled with FastExpressionCompiler and have been very happy with it.
-
Unit Tests Done Right (Part 2)
I hope I managed to convince you and proved the value of unit tests for mappings, so let's move on to the next example. We're going to use AutoMapper, but from a testing standpoint, the choice of mapper makes no difference. For instance, we can replace AutoMapper with Mapster and it won't affect our tests in any way. Moreover, the existing tests will indicate whether our mapping refactoring was successful or not, which is one of the points of having unit tests 🙂
- Comparison of Object Mapper Libraries
-
APIs de mapeamento valem à pena?
Writing mapping method is machine job. Do not waste your time, let Mapster do it. https://github.com/MapsterMapper/Mapster
What are some alternatives?
AutoMapper - A convention-based object-object mapper in .NET.
mapperly - A .NET source generator for generating object mappings. No runtime reflection.
AgileMapper - A zero-configuration, highly-configurable, unopinionated object mapper with viewable execution plans. Flattens, unflattens, deep clones, merges, updates and projects queries. .NET 3.5+ and .NET Standard 1.0+.
ExpressMapper - Mapping .Net types
mapr - A simple object to object mapper.
TimeZoneMapper - Library for mapping *N*X TimeZone ID's (e.g. Europe/Amsterdam) to .Net's TimeZoneInfo classes.
FastExpressionCompiler - Fast Compiler for C# Expression Trees and the lightweight LightExpression alternative. Diagnostic and code generation tools for the expressions.
MappingDemo - Demo of various object to object mappers