コード例 #1
0
        /// <summary>
        /// 비동기 방식으로 쿼리문을 실행해서, PagingDataTable을 반환하는 Task를 빌드합니다.
        /// </summary>
        /// <param name="repository"><see cref="IAdoRepository"/></param>
        /// <param name="sqlString">실행할 쿼리문</param>
        /// <param name="pageIndex">Page index (0부터 시작합니다.)</param>
        /// <param name="pageSize">Page당 Item 수 (보통 10개)</param>
        /// <param name="parameters">파라미터 컬렉션</param>
        /// <returns>PagingDataTable을 반환하는 Task</returns>
        public static Task <PagingDataTable> ExecutePagingDataTableByQueryStringAsync(this IAdoRepository repository,
                                                                                      string sqlString,
                                                                                      int?pageIndex,
                                                                                      int?pageSize,
                                                                                      params IAdoParameter[] parameters)
        {
            repository.ShouldNotBeNull("repository");
            sqlString.ShouldNotBeWhiteSpace("sqlString");

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

            return(Task.Factory.StartNew(() => repository.ExecutePagingDataTableBySqlString(sqlString, pageIndex, pageSize, parameters)));
        }