public DapperMethodChain QueryAsync <T>()
        {
            if (settings.PreferCommandDefinitions)
            {
                return(DapperMethodChain
                       .ForCallInStack(m => m.QueryAsync <T>(typeof(T), CommandDefinition))
                       .WithUserCall(m => m.QueryAsync <T>(CommandDefinition)));
            }

            return(DapperMethodChain
                   .ForCallInStack(m => m.QueryAsync <T>(typeof(T), CommandDefinition))
                   .WithUserCall(m => m.QueryAsync <T>("", null, null, null, null)));
        }
        public DapperMethodChain ExecuteScalarImpl <T>()
        {
            if (settings.PreferCommandDefinitions)
            {
                return(DapperMethodChain
                       .ForCallInStack(SqlMapper.ExecuteScalarImpl <T>(ref CommandDefinition))
                       .WithUserCall(SqlMapper.ExecuteScalar(CommandDefinition)));
            }

            return(DapperMethodChain
                   .ForCallInStack(SqlMapper.ExecuteScalarImpl <T>(ref CommandDefinition))
                   .WithUserCall(m => m.ExecuteScalar <T>("", null, null, null, null)));
        }