////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   An IDbConnection extension method that lasts. </summary>
        ///
        /// <remarks>   Msacli, 22.04.2019. </remarks>
        ///
        /// <typeparam name="T">    Generic type parameter. </typeparam>
        /// <param name="connection">   The connection to act on. </param>
        /// <param name="sqlText">      The SQL text. </param>
        /// <param name="commandType">  (Optional) Type of the command. </param>
        /// <param name="transaction">  (Optional) The transaction. </param>
        /// <param name="parameters">   A variable-length parameters list containing parameters. </param>
        ///
        /// <returns>   A T. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        public static T Last <T>(this IDbConnection connection,
                                 string sqlText, CommandType commandType = CommandType.Text,
                                 IDbTransaction transaction = null,
                                 params object[] parameters) where T : class
        {
            T instance = null;

            try
            {
                ExpandoObject expando = LastAsDynamic(
                    connection, sqlText, commandType,
                    transaction, parameters);

                instance = DynamicExtensions.ConvertTo <T>(expando);
            }
            catch (Exception e)
            {
                throw;
            }

            return(instance);
        }
Beispiel #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   An IDbConnection extension method that firsts. </summary>
        ///
        /// <remarks>   Msacli, 22.04.2019. </remarks>
        ///
        /// <typeparam name="T">    Generic type parameter. </typeparam>
        /// <param name="connection">       The connection to act on. </param>
        /// <param name="sqlText">          The SQL text. </param>
        /// <param name="commandType">      (Optional) Type of the command. </param>
        /// <param name="transaction">      (Optional) The transaction. </param>
        /// <param name="inputParameters">  (Optional) Options for controlling the input. </param>
        /// <param name="outputParameters"> (Optional) Options for controlling the output. </param>
        ///
        /// <returns>   A T. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        public static T First <T>(this IDbConnection connection,
                                  string sqlText, CommandType commandType = CommandType.Text,
                                  IDbTransaction transaction = null,
                                  Dictionary <string, object> inputParameters  = null,
                                  Dictionary <string, object> outputParameters = null) where T : class
        {
            T instance = null;

            try
            {
                ExpandoObject expando = FirstAsDynamic(
                    connection, sqlText, commandType,
                    transaction, inputParameters, outputParameters);

                instance = DynamicExtensions.ConvertTo <T>(expando);
            }
            catch (Exception e)
            {
                throw;
            }

            return(instance);
        }