在第一篇從 Web Forms 與 ADO.NET 開始的討論中,利用典型的ADO.NET功能,從KTMS資料庫取得資料,並且顯示在畫面上,而如果你需要將取回的資料進一步作處理,可以利用LINQ來達到需要的效果。
這一篇作最簡單的介紹,回到第一篇的範例,來看看其中的程式碼:
倒數第二行中,經由 ds.Tables[0] 取得其中的資料,現在調用 AsEnumerable() ,改寫如下:
在 LINQ 敘述中,DataTable 資料轉換成為支援 LINQ 的列舉集合物件,然後取得結果 table 物件,最後再調用 CopyToDataTable() 將其進行轉換,重新繫結至 GridView 控制項。
這一篇比較簡單,其中資料的轉換在「LINQ 與資料存取 (2) - 透過 LINQ 讀取 DataSet 資料」這一篇已經作了示範,這裏主要展示 CopyToDataTable() 這個方法。
由於只是示範性質,因此還看不出來轉換成LINQ查詢的好處在那裏,下一篇針對這一部份作說明。
》LINQ 與資料存取系列
這一篇作最簡單的介紹,回到第一篇的範例,來看看其中的程式碼:
void GetProducts(int p)
{
SqlConnection conn = new SqlConnection(@"Server=Tim-PC;…");
string sql = "SELECT * FROM Products WHERE UnitPrice < " + p ;
DataSet ds = new DataSet();
using (conn)
{
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
adapter.Fill(ds, "Products");
}
gridView.DataSource = ds.Tables[0];
gridView.DataBind();
}
倒數第二行中,經由 ds.Tables[0] 取得其中的資料,現在調用 AsEnumerable() ,改寫如下:
EnumerableRowCollection<DataRow> table =
from row in ds.Tables[0].AsEnumerable()
select row;
gridView.DataSource = table.CopyToDataTable();
在 LINQ 敘述中,DataTable 資料轉換成為支援 LINQ 的列舉集合物件,然後取得結果 table 物件,最後再調用 CopyToDataTable() 將其進行轉換,重新繫結至 GridView 控制項。
這一篇比較簡單,其中資料的轉換在「LINQ 與資料存取 (2) - 透過 LINQ 讀取 DataSet 資料」這一篇已經作了示範,這裏主要展示 CopyToDataTable() 這個方法。
由於只是示範性質,因此還看不出來轉換成LINQ查詢的好處在那裏,下一篇針對這一部份作說明。
》LINQ 與資料存取系列
- LINQ 與資料存取:ASP.NET篇(序)- ASP.NET 的進化
- LINQ 與資料存取:ASP.NET篇(1)- 從 Web Forms 與 ADO.NET 開始
- LINQ 與資料存取:ASP.NET篇(2)- 透過 LINQ 讀取 DataSet 資料
- LINQ 與資料存取:ASP.NET篇(3)- Why LINQ
- LINQ 與資料存取:ASP.NET篇(4)- 以 LINQ to SQL 萃取資料
沒有留言:
張貼留言