/// <summary> /// 비동기 방식으로 쿼리문을 실행해서, DataTable을 반환하는 Task를 빌드합니다. /// </summary> /// <param name="repository"><see cref="IAdoRepository"/></param> /// <param name="query">실행할 쿼리문 또는 Procedure Name</param> /// <param name="firstResult">첫번째 레코드 인덱스</param> /// <param name="maxResults">최대 레코드 갯수</param> /// <param name="parameters">파라미터 컬렉션</param> /// <returns>DataTable을 반환하는 Task</returns> public static Task <DataTable> ExecuteDataTableAsync(this IAdoRepository repository, string query, int?firstResult, int?maxResults, params IAdoParameter[] parameters) { query.ShouldNotBeWhiteSpace("query"); if (IsDebugEnabled) { log.Debug("비동기 방식으로 DataTable을 로딩합니다... query=[{0}], firstResult=[{1}], maxResults=[{2}]", query, firstResult, maxResults); } return(Task.Factory.StartNew(() => repository.ExecuteDataTable(query, firstResult ?? 0, maxResults ?? 0, parameters))); }