Made previous change working correctly

This commit is contained in:
grzegorz.russek
2023-02-22 13:42:54 +00:00
parent 9e0f315b24
commit 20287a6b8b
4 changed files with 20 additions and 4 deletions

View File

@@ -5581,6 +5581,11 @@ namespace DynamORM
using (IDataReader rdr = cmd.ExecuteReader())
mainResult = rdr.CachedReader();
}
else if (types[0] == typeof(DataTable))
{
using (IDataReader rdr = cmd.ExecuteReader())
mainResult = rdr.CachedReader().ToDataTable(binder.Name);
}
else if (types[0].IsGenericEnumerable())
{
Type argType = types[0].GetGenericArguments().First();
@@ -10990,7 +10995,7 @@ namespace DynamORM
/// <param name="name">The name to give the table. If tableName is null or an empty string, a default name is given when added to the System.Data.DataTableCollection.</param>
/// <param name="nameSpace">The namespace for the XML representation of the data stored in the DataTable.</param>
/// <returns></returns>
public static DataTable GetDataTableFromDataReader(this IDataReader r, string name = null, string nameSpace = null)
public static DataTable ToDataTable(this IDataReader r, string name = null, string nameSpace = null)
{
DataTable schemaTable = r.GetSchemaTable();
DataTable resultTable = new DataTable(name, nameSpace);
@@ -11011,7 +11016,7 @@ namespace DynamORM
while (r.Read())
{
DataRow row = resultTable.NewRow();
for (int i = 0; i < resultTable.Columns.Count - 1; i++)
for (int i = 0; i < resultTable.Columns.Count; i++)
row[i] = r[i];
resultTable.Rows.Add(row);