Installation
You can install the package directly from Nuget NeatMapper.Transitive.
Creating maps
Create maps for your entities like shown in the NeatMapper core package.
public class MyMaps :
INewMap<Product, ProductDto1>,
INewMap<ProductDto1, ProductDto2>
{
ProductDto1? INewMap<Product, ProductDto1>.Map(Product? source, MappingContext context){
if(source == null)
return null;
else{
return new ProductDto1{
Code = source.Code,
...
};
}
}
ProductDto2? INewMap<ProductDto1, ProductDto2>.Map(ProductDto1? source, MappingContext context){
if(source == null)
return null;
else{
return new ProductDto2{
Code = source.Code,
...
};
}
}
}
Configuring the services
While configuring your services simply add:
services.AddNeatMapper();
// This configures everything needed
services.AddNeatMapperTransitive();
Mapping objects
var mapper = serviceProvider.GetRequiredService<IMapper>();
Product product = ...;
// Transitively maps Product to ProductDto1 and then to ProductDto2
ProductDto2 productDto2 = mapper.Map<ProductDto2>(product);