【问题标题】:How to Loop the List if Records using LINQ如果使用 LINQ 记录,如何循环列表
【发布时间】:2011-06-30 07:40:26
【问题描述】:

我有一个物品清单 500 在这里我需要先取 100,然后我需要插入数据库。依此类推...... 但是在这里,当我将前 100 个插入数据库时​​,我不需要将记录插入数据库

通过使用 LINQ

【问题讨论】:

  • 您的问题非常不清楚。请编辑它,阅读tinyurl.com/so-hints
  • 对不起,你要不要把这100个项目插入数据库?
  • 当我将前 100 个插入 DB 时,我不需要将这些记录插入 DB,这并没有让你明白

标签: c# asp.net entity-framework .net-3.5


【解决方案1】:

您可以使用 Skip 和 Take 来执行此操作。

var stuffToInsert = myList.Skip(100).Take(100);

Skip 将向前移动 X 个对象,Take 将枚举最多(如果没有足够的数据,则更少)Y 个对象。您可以将 Skip(0) 用于第一批对象(因为您还不需要跳过任何内容)

【讨论】:

  • 没有跳过,或者说 Skip(0)
【解决方案2】:
int i = myList.Count / 100;
int batchSize = 100;

for(int j = 0; j < i; j++)
{
    InsertIntoDataBase(myList.Skip(j * batchSize).Take(batchSize));
}

InsertIntoDataBase() 是您可以实现插入的一些函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多