Filling a DataSet or a DataTable from a LINQ query result set | How do you expose a LINQ query as an ASMX web service?
  

Usually, from the business tier, I can return a typed `DataSet` or a `DataTable` which can be serialized for transport over ASMX.


How can I do the same for a LINQ query?   

Is there a way to populate a typed `DataSet` or a `DataTable` via a LINQ query?



```
public static MyDataTable CallMySproc()
{
    string conn = "...";

    MyDatabaseDataContext db = new MyDatabaseDataContext(conn);
    MyDataTable dt = new MyDataTable();

    // execute a sproc via LINQ
    var query = from dr
                in db.MySproc().AsEnumerable
                select dr;

    // copy LINQ query resultset into a DataTable -this does not work !    
    dt = query.CopyToDataTable();
   
    return dt;
}

```

How could I put the result set of a LINQ query into a `DataSet` or a `DataTable`?
  

Alternatively, can the LINQ query be serializable so that I can expose it as an ASMX web service?