Skip to content

Extensions

Leonardo Porro edited this page Feb 12, 2023 · 18 revisions

This library was build to be adapted to any project needs and extended to any ORM or product. If out-of-the-box behavior + configuration is not enough there are other options. However, a deeper knowledge of the architecture of the library is needed.

  • IType/ITypeFactory: Getting a value from a class source.myProp is not the same as getting it from a dictionary source["myProp"]. IType is an abstraction that takes care of creating instances, getting/setting member values, and also of storing mapping metadata (annotations). IType instances are created by registered ITypeFactory instances.

  • TypePair/TypePairFactory: A TypePair is the configuration and metadata for a mapping operation between two specific types (i.e.: which member maps to which other, ignored members, etc.) TypePair instanced are created by an ITypePairFactory instance.

  • ITypeMapper/ITypeMapperFactory: ITypeMapper performs the map operation between two specific types. ITypeMapper instances are created by registered ITypeMapperFactory.