Interface base Code generation (original) (raw)

Generate mapper from interface

Annotate your interface with [Mapper] in order for tool to pickup for generation.

This is example interface.

[Mapper] public interface IProductMapper { ProductDTO Map(Product customer); }

You can add multiple members as you want. All member names are flexible, but signature must be in following patterns:

[Mapper] public interface ICustomerMapper { //for queryable Expression<Func<Customer, CustomerDTO>> ProjectToDto { get; }

//map from POCO to DTO
CustomerDTO MapToDto(Customer customer);

//map to existing object
Customer MapToExisting(CustomerDTO dto, Customer customer);

}

If you have configuration, it must be in IRegister

public class MyRegister : IRegister { public void Register(TypeAdapterConfig config) { config.NewConfig<TSource, TDestination>(); } }

Add a custom footer