示例#1
0
        private static int BatchCaseData(IProxy psc, List <DataCase> lst_sc, string tableName)
        {
            if (lst_sc.Count > 0)
            {
                RemoveDuplicate(lst_sc);//去除重复数据
                if (lst_sc.Count > 0)
                {
                    PriceFilter(lst_sc);//价格过滤
                }
            }

            //批量入库,返回成功插入数据库的记录数
            int insertCount = 0;
            int batchCount  = 5000;
            int n           = lst_sc.Count / batchCount;

            if (lst_sc.Count % batchCount != 0)
            {
                n++;
            }
            for (int i = 0; i < n; i++)
            {
                DataCase[] dc_tmp = lst_sc.Skip(i * batchCount).Take(batchCount).ToArray();
                var        c      = psc.BatchInsertDataCase(dc_tmp, tableName).ValidateStatus <BatchInsertResponseModel>().Count;
                insertCount += c;
                logger.Info("当前批量插入[" + c + "]行数据...");
            }

            return(insertCount);
        }