public void a()
 {
     TcpPortSessionETL trs = new TcpPortSessionETL();
     foreach (var tcp in trs.mongo_TcpPortSessionETL.QueryMongo())
     {
     }
 }
 private static void BatchMakeTcpDataForMongo()
 {
     //using (TcpPortSessionStaging tps = new TcpPortSessionStaging())
     //    tps.CreateCollection();
     //GC.Collect();
     using (TcpPortSessionETL trs = new TcpPortSessionETL())
         trs.CreatCollection();
     GC.Collect();
     Console.WriteLine("BatchMakeTcpDataForMongo,Finish");
 }
        //生成维度表和事实表,同时开启多个连接进行处理?
        public void saveTcpPortSessionETLDocumentSet(string sqlconn)
        {
            TcpDbContext[] context = new TcpDbContext[contextlen];
            try
            {
                for (int i = 0; i < context.Length; i++)
                {
                    context[i] = new TcpDbContext(sqlconn);
                    context[i].Configuration.AutoDetectChangesEnabled = false;
                }

                int count = 0;
                TcpPortSessionETL trs = new TcpPortSessionETL();
                foreach (var tcp in trs.mongo_TcpPortSessionETL.QueryMongo())
                {
                    ++count;
                    Parallel.Invoke(() =>
                        {
                            context[0] = context[0].AddToContext(context[0], tcp.DimIp, count, bulksize, true, sqlconn);
                            context[1] = context[1].AddToContext(context[1], tcp.DimUdp, count, bulksize, true, sqlconn);
                            context[2] = context[2].AddToContext(context[2], tcp.DimNs, count, bulksize, true, sqlconn);
                            context[3] = context[3].AddToContext(context[3], tcp.DimBssgp, count, bulksize, true, sqlconn);
                            context[4] = context[4].AddToContext(context[4], tcp.DimLlcSndcp, count, bulksize, true, sqlconn);
                            context[5] = context[5].AddToContext(context[5], tcp.DimIp2, count, bulksize, true, sqlconn);
                            context[6] = context[6].AddToContext(context[6], tcp.DimTcp, count, bulksize, true, sqlconn);
                            context[7] = context[7].AddToContext(context[7], tcp.DimHttp, count, bulksize, true, sqlconn);
                            context[8] = context[8].AddToContext(context[8], tcp.DimMessage, count, bulksize, true, sqlconn);
                            context[9] = context[9].AddToContext(context[9], tcp.CalItem, count, bulksize, true, sqlconn);
                            context[10] = context[10].AddToContext(context[10], tcp.FactTcp, count, bulksize, true, sqlconn);
                        });
                }

                for (int i = 0; i < context.Length; i++)
                    context[i].SaveChanges();

            }
            finally
            {
                for (int i = 0; i < context.Length; i++)
                    if (context[i] != null)
                        context[i].Dispose();
            }
            Console.WriteLine("TcpPortSessionETLDocument->TcpDbContext->ok");
        }