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

entity-framework linq

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

一般承认的答案

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

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


热门答案

有多种方式

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



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因