Your select statement is returning a sequence of strings (
IEnumerable
or
IQueryable
), not a sequence of DataRows.
CopyToDataTable()
is only available on
IEnumerable<t></t>
where T is or derives from DataRow.
So, instead of
select new {...}
use
select obj
. Try this:
var query = from obj in dt.AsEnumerable() where obj.Field<string>("somefield") == "test"
select obj;
if(query.Count() > 0)
{
DataTable dt = query.CopyToDataTable();
}
--Amit