While mapping class i am getting error \'T\' must be a non-abstract type with a public parameterless constructor in order to use it as parameter \'T\' in the generic type or
The constraints must apply to every type in the chain; hence you need:
public abstract class SqlReaderBase : ConnectionProvider where T : new()
Without this, you can't satisfy the constraint for T in:
protected abstract MapperBase GetMapper();
or
MapperBase mapper = GetMapper();
since MapperBase<> is only usable when T has : new()