简单介绍两种方式
方式一:使用for循环,每次循环利用泛型集合的GetRange()方法,取一部分数据执行要执行的操作,例如:
var
var range = 50;
int times = paramList.Count/range + (paramList.Count % range > 0 ? 1 :0 ); //paramList为要操作的数据,times为需要分批次数
for(int i = 0; i < times; i++)
{
var tempParam = paramList.GetRange(i * range, (i + 1) * range > paramList.Count ? (paramList.Count - i * range) : range);
InsertToYourDatabase(tempParam); //需要执行的方法
}
方式二:利用泛型集合的.Take()方法,Take()常与Skip()方法一起用于伪分页,这里用于分批操作也很方便,如下:
while(paramList.Count>0)
{
var tempParam = paramList.Take(50).ToList();
InsertToYourDatabase(tempParam );
paramList.RemoveRange(0,tempParam .Count);
}