Exemplo n.º 1
0
        //! ======================================================================================

        /// <summary>
        /// <paramref name="spName"/>의 Procedure를 실행하고,
        /// Procedure Parameter 중에 <see cref="ParameterDirection"/>중에 Input만 제외한 나머지 Parameter들을 반환합니다.
        /// </summary>
        /// <param name="repository"></param>
        /// <param name="spName"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public static Task <IAdoParameter[]> ExecuteProcedureAsync(this IAdoRepository repository, string spName,
                                                                   params IAdoParameter[] parameters)
        {
            spName.ShouldNotBeWhiteSpace("spName");

            if (IsDebugEnabled)
            {
                log.Debug("비동기 방식으로 Procedure를 수행하고, Output Parameter와 Return Parameter의 컬렉션을 반환합니다. spName=[{0}], parameters=[{1}]",
                          spName, parameters.CollectionToString());
            }

            return(Task.Factory.StartNew(() => repository.ExecuteProcedure(spName, parameters)));
        }