/// <summary>
 ///     Execute SQL that returns a DataTable.
 /// </summary>
 /// <param name="fullSql">The SQL to execute.</param>
 /// <param name="parameters">The parameters to use for this query.</param>
 /// <returns>
 ///     A DataTable
 /// </returns>
 public DataTable GetDataTable(string fullSql, object parameters) =>
 ExecuteInternal(() =>
 {
     var dt = new DataTable();
     dt.Load(SharedConnection.ExecuteReader(fullSql, parameters, _transaction,
                                            OneTimeCommandTimeout ?? CommandTimeout));
     return(dt);
 });