Is there any possible method than looping, Enumerating the ICollection to convert them respectively to Typed List knowing the columns in the ICollection. I am using .net Framework 2.0, C#2.0. Expected answer would be something like this,a one liner
List<Bills> bills = GetBills(DataView/DataRowView/ICollection);
where Bills
type would have BillNumber, BillDate, BilledTo
as properties. The DataRowView/DataView would have corresponding Columns with records in them. Is there a factory build method that does the Job? If No any one liner to do it?
Could you do it in one line using a LINQ Select with a lambda? Something along these lines....
List<Bills> bills = yourDataView.Rows.Select(t => new Bills() {BillNumber = t["BillNumber"], BillDate = t["BillDate"], BilledTo = t["BilledTo"]}).ToList();
Use Linq Select to convert the DataView rows to a List of objects:
DataView yourDataView;
List<Bills> bills = yourDataView.ToTable().Rows.Cast<DataRow>()
.Select(r => new Bills()
{
BillNumber = r.Field<int>("BillNumber"),
BillDate = r.Field<DateTime>("BillDate"),
BilledTo = r["BilledTo"].ToString()
}).ToList();