使用LINQ to Entities获取前N个记录

时间:2010-05-20 14:23:34

标签: linq entity-framework

我正在使用Linq实体,并且想知道在查询时是否可以获得有限数量的记录。我只需要前N条记录作为查询执行orderby和其他子句。这是可能的还是我必须使用foreach循环获得前N个?

2 个答案:

答案 0 :(得分:35)

有多种方式

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);

答案 1 :(得分:31)

您只需使用.Take方法调用即可获得一些结果。 您可以阅读有关此主题here的更多信息。

您需要了解除非有人执行GetEnumerator()

,否则不会执行查询