Create a custom ModelMapper. Do it as a separate library. Make sure it overcomes the limitations of the existing ModelMapper library. Use pure reflection for this, no proxying. Keep it simple:
1) Map instance to Type.
2) Map instance to instance.
3) Custom mapping function.
Name matching will be strict. Type checking will treat all collections in same-named properties as the same.
Create a custom ModelMapper. Do it as a separate library. Make sure it overcomes the limitations of the existing ModelMapper library. Use pure reflection for this, no proxying. Keep it simple:
1) Map instance to Type. 2) Map instance to instance. 3) Custom mapping function.
Name matching will be strict. Type checking will treat all collections in same-named properties as the same.