Perhaps (works also if the table contains more rows):
IList<Foo> data = table.AsEnumerable()
.SelectMany(r => table.Columns.Cast<DataColumn>()
.Select(col => new Foo
{
Name = col.ColumnName,
Value = r.IsNull(col) ? null : r[col].ToString()
}))
.ToList();