Source Mapper

SourceMapper is code generator for mappings based on attributes defined in interfaces or abstrat classes. It is based on .NetCore Source Generators engine and generates classes for mappers during build time of you project. That is the main difference between SourceMapper and Automapper: you can see, reuse or inherit from generated code after app build process.
All generated mapping methods in classes are virtual: you can easily override them and use automatically generated mapping in derived class.
SourceMapper also generates extension method for Dependency Injection of generated mappers.

Install using nuget package manager:

Install-Package Compentio.SourceMapper

Define mappers

  • Create interface or abstract class that defines mappings
  • Use MapperAttribute to inform that it is mapper interface
  • Use MappingAttribute to map properties by name:

Use buildtime generated classes