Converti DataTable in Elenco generico?

public static IList ConvertTo(DataTable table) { if (table == null) { return null; } List rows = new List(); foreach (DataRow row in table.Rows) { rows.Add(row); } return ConvertTo(rows); } public static T ConvertItem(DataTable table) { T obj = default(T); if (table != null && table.Rows.Count > 0) { obj = CreateItem(table.Rows[0]); } return obj; } public static T CreateItem(DataRow row) { T obj = default(T); if (row != null) { obj = Activator.CreateInstance(); Type entityType = typeof(T); PropertyInfo[] properties = entityType.GetProperties(); for (int i = 0; i  0 && null != (dataField = customAttributes[0] as ColumnAttributes)) { if (row.Table.Columns.Contains(dataField.FieldName) && !row[dataField.FieldName].GetType().FullName.Equals("System.DBNull")) { properties[i].SetValue(obj, row[dataField.FieldName], null); } } } } return obj; } 

Questa è l’unica cosa che possiamo pensare in questo momento è che dobbiamo fare qualcosa in cui abbiamo bisogno di Garbage raccogliere noi stessi?

Pensieri?

Perché pensiamo che potrebbe esserci una perdita ?:

Stiamo ottenendo errori di memoria insufficiente. Se una pagina non richiede la logica aziendale per utilizzare questo tipo di conversione, il processo II6 non cresce, ma quando si colpisce una pagina che lo utilizza, cresce.

Stiamo attualmente ottenendo ANTS Profiler per darci maggiori dettagli.