【问题标题】:Get data in parts from database [closed]从数据库中获取部分数据[关闭]
【发布时间】:2014-06-10 22:16:08
【问题描述】:

我需要从 Take = 1000 的表中获取所有记录并跳过所有记录。我应该如何实现?

var result = context.MyDB.Where(x=>x.ID = ID).Take(1000);

【问题讨论】:

  • 什么是录音?你能不能认为我们不在你的大脑里?在正常选择中,您永远不必跳过任何内容 - 这是业务需求,您必须 - 啊 - 作为一个完整的问题。
  • 您是说要从表中获取所有记录,但一次获取 1000 条记录?
  • Simon Clough,是的,我想一次获取 1000 条记录的所有记录

标签: c# linq entity-framework data-paging


【解决方案1】:

如果您想从数据库中获取所有记录,一次 1000 条,那么这样的事情应该可以完成。

var startRecord = 0;
var records = db.where(x=>x.ID ==ID).Skip(startRecord).Take(1000);
while (records.Any())
{
  startRecord += 1000;
  // do something with your records

  records = db.where(x=>x.ID ==ID).Skip(startRecord).Take(1000);
}

【讨论】:

    【解决方案2】:

    如果我理解你的话,你需要跳过之前的记录

    var result = context.MyDB.Where(x=>x.ID =ID).Skip(20000).Take(1000);
    

    20000 可以是你的 (pageNumber -1) * pagesize

    【讨论】:

    • 如果在这个表中我们只有 1000 条记录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多