是正确的。
首先使用代码,Oracle数据库如果有大量数据,我需要选择前100个回收但是我还需要有可能获得其余记录,因此如何从101开始下一个100个回收?
如果有可能使用linq take()?
进行操作。List<int> myList = new List<int>();
List<int> newList = new List<int>();
myList = DBContext.MyTable.Where(x=>x.ID == someParam).Select(x=>x.ID).toList();
int recodCount = myList.Count();
if (recodCount > 1000)
{
newList.AddRange(myList.Take(100));
}
else
{
newList.AddRange(myList);
}
我想您需要分页,您需要定义PageIndex和Pagesize
myList = DBContext.MyTable
.Where(x=>x.ID == someParam)
.Skip((pageIndex - 1) * pageSize)
.Take(pageSize);
但是,如果您只想跳过100,那么您缺少的是 就像蒂姆所说的那样,不要在乞讨中调用Tolist(),这将在内存中选择所有内容。也不要致电Skip
:Count()
检查if(count > 100)
。您应该这样做:if(myList.Skip(number).Any())
如果您的收藏的记录多于编号。