2010-05-20 63 views
18

我正在使用Linq來實體,並想知道當我查詢時是否可以獲取有限數量的記錄。我只需要最前面的N個記錄,因爲查詢可以執行orderby和其他子句。這是可能的,否則我將不得不使用foreach循環獲得前N個?獲取使用LINQ to Entities的前N條記錄

+0

HTTP://計算器。 com/questions/2874599/get-top-n-records-using-linq-to-entities – 2014-07-23 19:28:24

回答

28

您可以使用.Take方法調用來獲得幾個結果。 你可以閱讀更多關於這個主題here

您需要明白,除非有人執行GetEnumerator(),否則查詢將不會執行。

28

有多種方式

1)

var data = (from p in db.people 
      orderby p.IdentityKey descending 
      select p).Take(100); 

2)

var query = db.Models.Take(100); 

3),也可以跳過某些結果

var data = (from p in people 
      select p).Skip(100); 
+0

如果IdentityKey是Guid怎麼辦?任何解決方案 – 2017-10-23 01:36:01

+0

然後,要麼根本不排序,要麼排序其他列值 – 2018-01-08 18:40:16