Linq to SQL:希望在不知道确切Id的情况下获取从100到200的记录吗

Linq to SQL:希望在不知道确切Id的情况下获取从100到200的记录吗,linq,Linq,实际上,我的问题是,在我的一个查询中,我一次只能从集合中获取200条记录,因此,如果我获取200条记录,我的查询是一次,下一次我需要获取顶部记录,即201到400条。所以在linq中可以使用任何直接函数。查看skip和take,但您需要以可预测的方式对记录进行排序。您正在询问分页。有许多重复的问题解释了您需要先对结果排序,然后使用Skip()和Take()来获取页面。行没有固有的顺序,这意味着您首先必须使用orderby强制执行顺序。之后,ORM提供程序将把egSkip(100)转换为数据库的等

实际上,我的问题是,在我的一个查询中,我一次只能从集合中获取200条记录,因此,如果我获取200条记录,我的查询是一次,下一次我需要获取顶部记录,即201到400条。所以在linq中可以使用任何直接函数。

查看
skip
take
,但您需要以可预测的方式对记录进行排序。您正在询问分页。有许多重复的问题解释了您需要先对结果排序,然后使用
Skip()
Take()
来获取页面。行没有固有的顺序,这意味着您首先必须使用
orderby
强制执行顺序。之后,ORM提供程序将把eg
Skip(100)转换为数据库的等效分页查询。例如,对于受支持版本的SQL Server
OrderBy(row=>row.Id).Skip(100).Take(100)
,变为
OrderBy-Id OFFSET 100行,仅获取下一个100行顺便说一句,您没有解释您使用的ORM。LINQ是一种通用查询语言。LINQtoSQL本质上是一个演示项目,早在2008年就引入了它来展示Linq。你在用EF吗?EF核心?哪个版本?@PanagiotisKanavos我认为这对LINQ to SQL不公平。我想说,LINQ to SQL是Microsoft提供的唯一完整的服务器翻译LINQ实现。@NetMage它肯定不是完整的(它使用客户端评估,不是)。但这并不是故意的。这不是一种观点,即使在当时,people女士也是这么解释的。这就是为什么它没有进一步发展,为什么EF出现了。当人们问起LINQtoSQL时,通常是指LINQtoEF。那么这个问题是关于什么的呢?