LINQ to DataSet 使用的四个步骤
1)获取DataSet/DataTable数据源
2)将DataTable使用AsEnumerable()方法转换成IEnumerable类型
3)使用LINQ语法编写查询
4)使用查询结果
Attention:查询结果为EnumerableRowCollection类型,按照列名操作的语法为:**Field()**示例:
var rowCollection = dataTable.AsEnumerable();
var query = from book in rowCollection
where book.Field<int>("price")<=40
orderby book.Field<DateTime>("publishDate") ascending
select book;
Console.WriteLine("序号\t书名\t\t作者\t\t出版日期\t价格");
foreach (var i in query)
{
Console.WriteLine(i.Field<int>("id") + "\t"
+ i.Field<string>("title") + " \t"
+ i.Field<string>("author") + "\t\t"
+ i.Field<DateTime>("publishDate").ToString("d") + "\t"
+ i.Field<int>("price").ToString("C") + "\t");
}
EnumerableRowCollection类型中:
Field()读取数据, SetField()修改数据;
LINQ to DataSet数据绑定
1)创建DataView数据源
2)将DataTable用AsDataView()方法转化,并赋给DataView数据源
3)将DataView数据源绑定到DataGridView控件,语法如下:
DataGridView.DataSource = DataView;
DataView类中的RowFilter属性可以对数据进行过滤,语法如下:
DataView.RowFilter="列名>=某个值";