代码
DataSet ds = new DataSet();
ds.Tables.Add();
ds.Tables[0].Columns.Add("Id", System.Type.GetType("System.Int32"));
ds.Tables[0].Columns.Add("Text");
for (int i = 0; i < 10; i++)
{
DataRow dr = ds.Tables[0].Rows.Add();
dr["Id"] = i;
dr["Text"] = "vvv";
}
var tbl = from t in ds.Tables[0].AsEnumerable()
where t.Field<int>("id") > 3
select new { Id = t.Field<int>("Id"), Text = t.Field<string>("Text") };
GridView1.DataSource = tbl;
GridView1.DataBind();
结果
Id |
Text |
4 |
vvv |
5 |
vvv |
6 |
vvv |
7 |
vvv |
8 |
vvv |
9 |
vvv |
以上 DataSet 数据是直接从程序中创立的,也可以从数据库中读取,请参见 DataSet 应用示例。
有人可能会说,DataSet 从数据库取数据时可直接利用 SQL 获得需要的数据并进行排序,为什么非要多加一道 LINQ 呢?其实 LINQ 还有更多的功能,比如我们可以 Id = MD5(t.Field<int>("Id")),甚至其他在 SQL 中无法实现的函数,另外有些特殊应用需要 LINQ 较为方便。