/// <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))); }