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

Abd*_*oof 25 linq entity-framework

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

Moh*_*rma 36

有多种方式

1)

var data = (from p in db.people  
            orderby p.IdentityKey descending 
            select p).Take(100); 
Run Code Online (Sandbox Code Playgroud)

2)

var query = db.Models.Take(100);
Run Code Online (Sandbox Code Playgroud)

3)或者你可以跳过某些结果

var data = (from p in people
            select p).Skip(100);
Run Code Online (Sandbox Code Playgroud)


sov*_*yan 34

您可以使用.Take方法调用来获得一些结果.您可以在此处详细了解此主题.

您需要了解除非有人执行GetEnumerator(),否则不会执行查询.