/// <summary> /// 비동기 방식으로 쿼리문을 실행해서, DataTable을 반환하는 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>DataTable을 반환하는 Task</returns> public static Task <DataTable> ExecuteDataTableByQueryStringAsync(this IAdoRepository repository, string sqlString, int?firstResult, int?maxResults, params IAdoParameter[] parameters) { repository.ShouldNotBeNull("repository"); sqlString.ShouldNotBeWhiteSpace("sqlString"); if (IsDebugEnabled) { log.Debug("비동기 방식으로 쿼리를 수행하여 DataTable을 빌드합니다... sqlString=[{0}], firstResult=[{1}], maxResults=[{2}]", sqlString, firstResult, maxResults); } return(Task.Factory.StartNew(() => repository.ExecuteDataTableBySqlString(sqlString, firstResult ?? 0, maxResults ?? 0, parameters))); }