C# LINQ查询限制从-到结果

C# LINQ查询限制从-到结果,c#,mysql,linq,C#,Mysql,Linq,我是LINQ的新手,我还不知道如何正确使用它 我与MYSQL有连接,表中有超过3k行,目前我使用SQL语法中的LIMIT逐页浏览数据,我希望避免这种情况,因为许多SQL查询都是通过连接发送的。这是我当前正在进行的工作LINQ代码: var test = from Item in ItemList orderby Item.Id ascending select Item; 现在,使用我的SQL语法,我得到前200行的限制是0,200,在第2页,代码的

我是LINQ的新手,我还不知道如何正确使用它

我与MYSQL有连接,表中有超过3k行,目前我使用SQL语法中的LIMIT逐页浏览数据,我希望避免这种情况,因为许多SQL查询都是通过连接发送的。这是我当前正在进行的工作LINQ代码:

var test = from Item in ItemList
           orderby Item.Id ascending
           select Item;
现在,使用我的SQL语法,我得到前200行的限制是0,200,在第2页,代码的限制是200,200。我知道我可以用.Take(x)限制linq,但我想“获取”200条记录,其中x是起始索引。 很抱歉解释得不好,就像我说的,我是LINQ的新手


谢谢!:)

您可以使用
Skip
方法跳过第一个
n
行,然后
Take
下一个
n

例如:

var test = (from Item in ItemList
           orderby Item.Id ascending
           select Item).Skip(200).Take(200);

你在找
.Skip()
?让我想起@CodeCaster是的,我显然是!直到现在我还不知道有一个
.Skip()
函数。这就成功了!非常感谢!:)@DethoRhyne请记住,我不确定这方面的性能,您需要查看生成的SQL,以确保它在较低级别按预期工作。别担心,SQL端正常,SQL连接按预期工作,将数据库行作为对象(ID、用户名等)加载当我在处理数据库查看器/控制台类型的事情时,我需要查看和查看结果,并且由于结果数量很多,分页非常重要。这就是为什么我研究linq来给我的CPU一些方便。