Convert DataTable to List dynamically

  1. DataTable dt = new DataTable();  
  2. using (SqlConnection conn = new SqlConnection(conStr))  
  3. {  
  4.     string sql = string.Format(@"Select * from [SampleInfoTable]");  
  5.     SqlDataAdapter da = new SqlDataAdapter(sql, conn);  
  6.     da.Fill(dt);  
  7. }  
  8. //var lst = dt.AsEnumerable().ToList();  
  9. var lst = dt.AsEnumerable()  
  10.              .Select(r => r.Table.Columns.Cast<DataColumn>()  
  11.              .Select(c => new KeyValuePair<string, object>(c.ColumnName, r[c.Ordinal])  
  12.           ).ToDictionary(z => z.Key, z => z.Value)  
  13.        ).ToList();