【问题标题】:LINQ Query limiting from - to results [duplicate]LINQ 查询限制从 - 到结果 [重复]
【发布时间】:2016-02-24 12:22:01
【问题描述】:

我对 LINQ 很陌生,我还不确定如何正确使用它。

我已经连接到 MYSQL,并且我在一个表中有超过 3k 行,目前我在 SQL 语法中使用 LIMIT 来逐页浏览数据,由于发送了许多 SQL 查询,我想避免这种情况连接。这是我当前的 Work-In-Progress LINQ 代码:

var test = from Item in ItemList
           orderby Item.Id ascending
           select Item;

现在,使用我的 SQL 语法,我有 LIMIT 0 , 200 来获取前 200 行,并且在第 2 页上该代码将是 LIMIT 200 , 200。我知道我可以使用 .Take(x) 限制 linq 但我想“获取” 200 条记录,其中 x 是起始索引。 正如我所说,我对错误的解释感到抱歉,我是 LINQ 的新手。

谢谢! :)

【问题讨论】:

标签: c# mysql linq


【解决方案1】:

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

例如:

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

https://msdn.microsoft.com/library/bb358985(v=vs.100).aspx

【讨论】:

  • 成功了!非常感谢你! :)
  • @DethoRhyne 请记住,我不确定它的性能,您需要查看生成的 SQL 以确保它在较低的情况下按预期工作水平。
  • 别担心,SQL 端没问题,SQL 连接按预期工作,将数据库行作为对象(ID、用户名等)加载。因为我正在使用数据库查看器/控制台由于结果数量多,我需要查看和查看结果的类型和分页很重要。这就是为什么我研究 linq 以使我的 CPU 更轻松。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-28
  • 1970-01-01
  • 2021-10-23
  • 2020-03-26
  • 1970-01-01
相关资源
最近更新 更多