LINQ使用Skip操作
學(xué)習(xí)LINQ時(shí),經(jīng)常會遇到LINQ使用Skip操作問題,這里將介紹LINQ使用Skip操作問題的解決方法。
LINQ使用Skip操作
LINQ支持許多內(nèi)置的標(biāo)準(zhǔn)查詢操作。如果你在類之前加入"using System.Query"語句你就可以在代碼 中使用這些操作。例如,如果我要列出第2遠(yuǎn)到第6遠(yuǎn)的城市,我就可以使用象下面這樣的編碼:
- using System;
- using System.Web.UI;
- using System.Query;
- public partial class Step4 : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- TravelOrganizer travel = new TravelOrganizer();
- GridView1.DataSource = (from location in travel.PlacesVisited
- & nbsp; orderby location.Distance descending
- & nbsp; select location).Skip(1).Take(5);
- GridView1.DataBind();
- }
- }
注意我是怎么通過距離的遠(yuǎn)近來對結(jié)果進(jìn)行排序的。然后我使 用Skip操作來跳過***個(gè)城市,然后使用Take操作來只返回5個(gè)結(jié) 果。
NET標(biāo)準(zhǔn)查詢操作的真正強(qiáng)大之處在于,這些操作不是寫死 的(hard-coded ),任何開發(fā)人員都可以添加新的或替換其中的操作。這就可以支持實(shí)現(xiàn)非常強(qiáng)有力的特定 域(domain specific)操作。例如,當(dāng)你在LINQ使用Skip操作時(shí),DLINQ實(shí)際上是把這些操作轉(zhuǎn)換成 服務(wù)器端分頁的后臺SQL邏輯,這樣,只有少量的記錄從數(shù)據(jù)庫返回,不管數(shù)據(jù)表中是否有十幾萬條數(shù)據(jù)。這 意味著我們可以在大量關(guān)系數(shù)據(jù)之上很輕易地實(shí)現(xiàn)高效的web數(shù)據(jù)分頁。注意:在LINQ正式發(fā)行之前,你可以 使用這里提到的技術(shù)。
【編輯推薦】