Per gli amanti di DataSet e DataTable, ecco come possiamo utilizzare l'oggetto SqlDataAdapter per trasformare il risultato di una query LINQ i una delle due strutture che ho appena citato:

NorthwindDataContext context = new NorthwindDataContext();

var results = from c in context.Customers
where c.City == "London"
select c;

SqlCommand cmd = context.GetCommand(results) as SqlCommand;

DataTable dataTable = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataTable);

A mio parere, considerando le potenzialità di LINQ e degli oggetti di tipo DataContext, questa conversione non serve a molto, anzi, a fronte dell'utilizzo di moli massicce di dati, tende sicuramente a peggiorare le prestazioni della nostra applicazione. In contesti semplici invece, con pochi dati o magari con pezzi di codice già scritti in precedenza e che non abbiamo intenzione di "migrare", allora può essere utile.