You shouldn't do this. Why then bothering yourself with LINQ-To-SQL and just use normal ADO methods to get a normal datatable object. This isn't what LINQ-to-SQL is for. You should think in terms of objects.
But, if you need to do this any way: ExecuteQuery
returns:a collection of IEnumerable<T>
. Then you can convert this list to a datatable. You can use the following function to convert it to a datatable: