コード例 #1
0
        /// <summary>
        /// 비동기 방식으로 쿼리문을 실행해서, DataSet을 반환하는 Task를 빌드합니다.
        /// </summary>
        /// <param name="repository"><see cref="IAdoRepository"/></param>
        /// <param name="sqlString">실행할 쿼리문</param>
        /// <param name="firstResult">첫번째 레코드 인덱스</param>
        /// <param name="maxResults">최대 레코드 갯수</param>
        /// <param name="parameters">파라미터 컬렉션</param>
        /// <returns>DataSet을 반환하는 Task</returns>
        public static Task <DataSet> ExecuteDataSetByQueryStringAsync(this IAdoRepository repository,
                                                                      string sqlString,
                                                                      int?firstResult,
                                                                      int?maxResults,
                                                                      params IAdoParameter[] parameters)
        {
            sqlString.ShouldNotBeWhiteSpace("sqlString");

            if (IsDebugEnabled)
            {
                log.Debug("비동기 방식으로 쿼리문을 수행하여 DataSet을 빌드합니다... sqlString=[{0}], firstResult=[{1}], maxResults=[{2}]",
                          sqlString, firstResult, maxResults);
            }

            return(Task.Factory.StartNew(() => repository.ExecuteDataSetBySqlString(sqlString,
                                                                                    firstResult ?? 0,
                                                                                    maxResults ?? 0,
                                                                                    parameters)));
        }