DataSet ds = getDataset();
//第一种方法
//var matches = from p in ds.Tables["products"].AsEnumerable()
// where p.Field<decimal>("UnitPrice") > 10
// select p;
//gvProducts.DataSource = matches.AsDataView();
//第二种方法
var matches = from p in ds.Tables["products"].AsEnumerable()
where p.Field<decimal>("UnitPrice") > 10
select new { pid = p.Field<int>("ProductId"), pname = p.Field<string>("ProductName"), price = p.Field<decimal>("UnitPrice") };
//当在LINQ表达式中使用"投影"后,则可不调用AsDataView()方法。
gvProducts.DataSource = matches;
gvProducts.DataBind();
====================LINQ to DataSet 处理空值问题=====================
DataSet1 ds = new DataSet1();
DataSet1TableAdapters.EmployeesTableAdapter empsda = new DataSet1TableAdapters.EmployeesTableAdapter();
empsda.Fill(ds.Employees);
var matches = from emp in ds.Employees
where emp.Field<int?>("reportsto") != null && emp.Field<string>("Region") != null
select emp;
gvProducts.DataSource = matches;
gvProducts.DataBind();