Exemplo n.º 1
0
        /// <summary>
        /// 비동기 방식으로 작업을 <paramref name="spName"/>를 수행하여, <see cref="IDataReader"/>를 결과값으로 제공하는 Task를 반환합니다.
        /// </summary>
        /// <param name="repository">Repository</param>
        /// <param name="spName">실행할 Procedure Name</param>
        /// <param name="parameters">Parameters</param>
        /// <returns>결과셋을 IDataReader 로 결과를 제공하는 Task</returns>
        public static Task <IDataReader> ExecuteReaderByProcedureAsync(this IAdoRepository repository, string spName,
                                                                       params IAdoParameter[] parameters)
        {
            spName.ShouldNotBeWhiteSpace("spName");

            if (IsDebugEnabled)
            {
                log.Debug("비동기 방식으로 Procedure 를 수행하여 IDataReader를 얻습니다... spName=[{0}], parameters=[{1}]",
                          spName, parameters.CollectionToString());
            }

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