从数据库中获取部分数据

时间:2014-04-25 09:20:55

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

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

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

2 个答案:

答案 0 :(得分:3)

如果你想从数据库中获取所有记录,一次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);
}

答案 1 :(得分:1)

如果我理解你,你需要在此之前跳过记录

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

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