LINQ to SQL語句(9)之Top/Bottom和Paging和SqlMethods

作者: 李永京  來源: 博客園  發布時間: 2008-09-18 15:48  閱讀: 21120 次  推薦: 1   原文鏈接   [收藏]  
 
摘要:這個系列的第九篇,講解Top/Bottom和Paging和SqlMethods操作符用法。
[1] Top/Bottom和Paging講解
[2] SqlMethods講解

系列文章導航:

LINQ to SQL語句(1)之Where

LINQ to SQL語句(2)之Select/Distinct

LINQ to SQL語句(3)之Count/Sum/Min/Max/Avg

LINQ to SQL語句(4)之Join

LINQ to SQL語句(5)之Order By

LINQ to SQL語句(6)之Group By/Having

LINQ to SQL語句(7)之Exists/In/Any/All/Contains

LINQ to SQL語句(8)之Concat/Union/Intersect/Except

LINQ to SQL語句(9)之Top/Bottom和Paging和SqlMethods

LINQ to SQL語句(10)之Insert

LINQ to SQL語句(11)之Update

LINQ to SQL語句(12)之Delete和使用Attach

LINQ to SQL語句(13)之開放式并發控制和事務

LINQ to SQL語句(14)之Null語義和DateTime

LINQ to SQL語句(15)之String

LINQ to SQL語句(16)之對象標識

LINQ to SQL語句(17)之對象加載

LINQ to SQL語句(18)之運算符轉換

LINQ to SQL語句(19)之ADO.NET與LINQ to SQL

LINQ to SQL語句(20)之存儲過程

LINQ to SQL語句(21)之用戶定義函數

LINQ to SQL語句(22)之DataContext

LINQ to SQL語句(23)之動態查詢

LINQ to SQL語句(24)之視圖

LINQ to SQL語句(25)之繼承

LINQ簡介

adsfsaf

 

Top/Bottom操作

適用場景:適量的取出自己想要的數據,不是全部取出,這樣性能有所加強。

Take

說明:獲取集合的前n個元素;延遲。即只返回限定數量的結果集。

var q = (
    from e in db.Employees
    orderby e.HireDate
    select e)
    .Take(5);

語句描述:選擇所雇用的前5個雇員。

Skip

說明:跳過集合的前n個元素;延遲。即我們跳過給定的數目返回后面的結果集。

var q = (
    from p in db.Products
    orderby p.UnitPrice descending
    select p)
    .Skip(10);

語句描述:選擇10種最貴產品之外的所有產品。

TakeWhile

說明:直到某一條件成立就停止獲取;延遲。即用其條件去依次判斷源序列中的元素,返回符合判斷條件的元素,該判斷操作將在返回false或源序列的末尾結束 。

SkipWhile

說明:直到某一條件成立就停止跳過;延遲。即用其條件去判斷源序列中的元素并且跳過第一個符合判斷條件的元素,一旦判斷返回false,接下來將不再進行判斷并返回剩下的所有元素。

Paging(分頁)操作

適用場景:結合Skip和Take就可實現對數據分頁操作。

1.索引

var q = (
    from c in db.Customers
    orderby c.ContactName
    select c)
    .Skip(50)
    .Take(10);

語句描述:使用Skip和Take運算符進行分頁,跳過前50條記錄,然后返回接下來10條記錄,因此提供顯示Products表第6頁的數據。

2.按唯一鍵排序

var q = (
    from p in db.Products
    where p.ProductID > 50
    orderby p.ProductID
    select p)
    .Take(10);

語句描述:使用Where子句和Take運算符進行分頁,首先篩選得到僅50 (第5頁最后一個ProductID)以上的ProductID,然后按ProductID排序,最后取前10個結果,因此提供Products表第6頁的數據。請注意,此方法僅適用于按唯一鍵排序的情況。

[第1頁][第2頁]
1
0
 
標簽:LINQ LINQ to SQL
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()