コード例 #1
0
        /// <summary>
        /// Executes a query with the specified command text and <typeparamref name="dbParameterSetter"/>, mapping a single result row to a object via a <typeparamref name="rowMapperFunc"/>.
        /// <para>
        /// Don't Call <see cref="IDataReader.Read"/> to get next result.
        /// </para>
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="adoTemplate">The ado template</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="rowMapperFunc">CallBack function that maps a single result to a single object in a rowNum</param>
        /// <returns></returns>
        public static IList <T> QueryForList <T>(this AdoTemplate adoTemplate, CommandType cmdType, string cmdText, IDbParameterSetter dbParameterSetter, Func <IDataReader, int, T> rowMapperFunc)
        {
            var rowMapper = new IRowMapImplementor <T>(rowMapperFunc);

            return(adoTemplate.QueryForList(cmdType, cmdText, dbParameterSetter, rowMapper));
        }
コード例 #2
0
        /// <summary>
        /// Executes a query with the specified command text, mapping a single result row to a object via a <typeparamref name="rowMapperFunc"/>.
        /// <para>
        /// Don't Call <see cref="IDataReader.Read"/> to get next result.
        /// </para>
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="adoTemplate">The ado template</param>
        /// <param name="cmdText">The command text (Select)</param>
        /// <param name="rowMapperFunc">CallBack function that maps a single result to a single object in a rowNum</param>
        /// <returns></returns>
        public static IList <T> QueryForList <T>(this AdoTemplate adoTemplate, string cmdText, Func <IDataReader, int, T> rowMapperFunc)
        {
            var rowMapper = new IRowMapImplementor <T>(rowMapperFunc);

            return(adoTemplate.QueryForList(CommandType.Text, cmdText, null, rowMapper));
        }