/// <summary>
        /// Executes a query with the specified command text, exposing a <see cref="IDataReader"/> via a callback action
        /// </summary>
        /// <param name="adoTemplate"></param>
        /// <param name="cmdText">The command text (Select)</param>
        /// <param name="accessor">callback action that expose a <see cref="IDataReader"/></param>
        public static void ExecuteQuery(this AdoTemplate adoTemplate, string cmdText, Action <IDataReader> accessor)
        {
            var accessorImp = new IDataReaderAccessorImplementor(accessor);

            adoTemplate.ExecuteQuery(CommandType.Text, cmdText, null, accessorImp);
        }
        /// <summary>
        /// Executes a query with the specified command text, <paramref name="dbParameterSetter"/>, exposing a <see cref="IDataReader"/> via a callback action
        /// </summary>
        /// <param name="adoTemplate"></param>
        /// <param name="cmdType">Text or Stored Procedure</param>
        /// <param name="cmdText">The command text (Select)</param>
        /// <param name="dbParameterSetter">The parameter setter to bind to the query</param>
        /// <param name="accessor">callback action that expose a <see cref="IDataReader"/></param>
        public static void ExecuteQuery(this AdoTemplate adoTemplate, CommandType cmdType, string cmdText, IDbParameterSetter dbParameterSetter, Action <IDataReader> accessor)
        {
            var accessorImp = new IDataReaderAccessorImplementor(accessor);

            adoTemplate.ExecuteQuery(cmdType, cmdText, dbParameterSetter, accessorImp);
        }