I have another approach that might be worth taking a look at.
It’s a helper method. Create a custom class file named CollectionHelper:
public static IList<T> ConvertTo<T>(DataTable table)
{
if (table == null)
return null;
List<DataRow> rows = new List<DataRow>();
foreach (DataRow row in table.Rows)
rows.Add(row);
return ConvertTo<T>(rows);
}
Imagine you want to get a list of customers. Now you’ll have the following caller:
List<Customer> myList = (List<Customer>)CollectionHelper.ConvertTo<Customer>(table);
The attributes you have in your DataTable must match your Customer class (fields like Name, Address, Telephone).
I hope it helps!
For who are willing to know why to use lists instead of DataTables: link text
The full sample: