文章中提到了linq,所以先介紹一下它,好讓我們有個初步認識:
• linq是語言級整合查詢(language integrated query)
• linq是一種用來進行資料訪問的程式設計模型,使得.net語言可以直接支援資料查詢
• linq發布於.net framework 3.5
• linq體現了物件導向程式設計思想
• linq包含了linq to sql, linq to entities, linq to datasets(這三個都體現在ado.net上), linq to objects, linq to xml
下面是不同的分頁code
1. linq to entity
int pageindex = 1;int pagesize = 30;
int skipcount = (pageindex - 1) * pagesize;
using (guakaoentities db = new這是原生的linq to entity分頁語句。guakaoentities())
2. linq to entity之topagelist()
int pageindex = 1;topagedlist()是linq to entity分頁的擴充套件方法。微軟提供了pagedlist類庫,裡面提供了這個擴充套件方法。int pagesize = 30;
using (guakaoentities db = new
guakaoentities())
用sql server profiler跟蹤前兩者生成的sql語句:
說明:offset...fetch是sql server 2012的新特性,offset...fetch從結果集中取出某一頁的結果。rows可用row來代替,next可用first來代替。
例子:跳過前30行且取剩餘行
select跳過前30行且取接下來的30行*from info order
by id desc
offset 3
0 rows
select限制條件:*from info order
by id desc
offset 3
0 rows fetch
next 30 rows only
offset...fetch要與order by一起使用;
top和offset...fetch不能在同乙個表示式中一起使用;
3. linq to sql
privatelinq to sql生成sql語句如下:static
readonly
int pageindex = 1
;private
static
readonly
int pagesize = 30
;private
static
readonly
int skipcount = (pageindex - 1) *pagesize;
public listgetinfolist()
return
infolist;
}
30;使用聚合函式和not in分頁語句請看
5. mysql分頁
select * from info where id limit 0,20比較一下各分頁的效能使用聚合函式或not in來實現分頁都不是最好的選擇,所以在這比較一下offset ... fetch與row_num() over():
之前用慣了row_num() over(),現在從語法或效能上看來offset...fetch也是不錯的選擇。
C指標大雜燴
include int func int a,int b int main void int p int 可以看成int a int 這是乙個指標指向引數是int,返回值是int的函式。函式指標。int p int 這是乙個函式,他的引數是乙個整形,返回值是乙個指向整形的指標。include int...
問題大雜燴(一)
最近遇到了很多問題,記錄一下,以便後續檢視 a.檢查網路,檢視不同的節點之間的網路是否可達 2.檔案等資料處理 a.從上百份的檔案中提取特定的資料,使用awk方法進行統計出來,通過寫shell指令碼處理資料。b.awk用法 shell小指令碼 讀取提取到的資料到txt中,讀取txt中每一行資料,然後...
String類大雜燴
字串轉換 stringbuilder類和stringbuilder類 string 字串,使用一對 引起來表示 1.string宣告為final的,不可被修飾 2.string實現了serializable介面 表示字串是支援序列化的。實現了comparable介面 表示string可以比較大小。3...