Filling a DataSet or a DataTable from a LINQ query result set

Question :

Filling a DataSet or a DataTable from a LINQ query result set,

Answer :

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?

Read More  NHibernate or LINQ to SQL

,

As mentioned in the question, IEnumerable has a CopyToDataTable method:

IEnumerable query =      from order in orders.AsEnumerable()      where order.Field("OrderDate") > new DateTime(2001, 8, 1)      select order;    // Create a table from the query.  DataTable boundTable = query.CopyToDataTable();  

Why won’t that work for you?

That’s the answer Filling a DataSet or a DataTable from a LINQ query result set, Hope this helps those looking for an answer. Then we suggest to do a search for the next question and find the answer only on our site.

Disclaimer :

The answers provided above are only to be used to guide the learning process. The questions above are open-ended questions, meaning that many answers are not fixed as above. I hope this article can be useful, Thank you