Why am I not getting .CopyToDataTable() in Linq Query()
asp.net, c#, linq
Solution
Your select statement is returning a sequence of strings (`IEnumerable<string>` or `IQueryable<string>`), not a sequence of DataRows. CopyToDataTable() is only available on `IEnumerable<T>` where T is or derives from DataRow.
Instead of `select new { ... }` - which will just get you a new sequence of that type, try:
select CPhysician;
Which should return the desired sequence of CPhysician rows.
Edit If you wish to convert a non-datatable-derived T to a datatable, MSDN has a sample class that reflects out any type and performs the conversion.
http://msdn.microsoft.com/en-us/library/bb669096.aspx
Problem
This following code example is borrowed from MSDN here. I am not getting query.CopyToDataTable() available in my code. (see the commented line in my following code). ``` public static bool SetPhysicianAsNotonServer(DataTable dt) { DataTable dtPhysicianServer = dt; DataTable dtPhysicianClient = GetPhysicianClient(); var query = from SPhysician in dtPhysicianServer.AsEnumerable() join CPhysician in dtPhysicianClient.AsEnumerable() on SPhysician.Field<string>("PhysicianNumber") equals CPhysician.Field<string>("PhysicianNumber") select new { PhysicianNumber = CPhysician.Field<string>("PhysicianNumber") }; DataTable FilterDt = query; //query.CopyToDataTable(); //YET TO DO CODE HERE return true; } ```