public static string SignExamUser(Guid examId) { var examPapers = GetExamPapersList(d => d.ExamId == examId); //考试试卷 var paperDetailsTemp = new Dictionary <Guid, List <Exam_StudentPaperDetail> >(); foreach (var paper in examPapers) { var paperJson = JsonConvert.DeserializeObject <PaperJson>(paper.PaperFormJson); var paperDetails = new List <Exam_StudentPaperDetail>(); foreach (var questionJson in paperJson.PaperQuestionJsons) { var paperDetail = new Exam_StudentPaperDetail() { DeleteStatus = false, QuestionId = questionJson.PaperQuestion.QuestionId, QuestionJson = JsonConvert.SerializeObject(questionJson), QuestionType = questionJson.PaperQuestion.QuestionType, Score = questionJson.PaperQuestion._QuestionStrategyScore, Status = 10, StudentAnswerText = "", }; paperDetails.Add(paperDetail); } paperDetailsTemp.Add(paper.PaperId, paperDetails); } var users = GetUserTotal(); List <Exam_StudentPapers> resultPapers = new List <Exam_StudentPapers>(users.Count); //要保存的试卷 List <Exam_StudentPaperDetail> resultPaperDetails = new List <Exam_StudentPaperDetail>(users.Count * paperDetailsTemp.FirstOrDefault().Value.Count); //要保存的答题记录 int lastExamNum = 100000; Random random = new Random(Guid.NewGuid().GetHashCode()); foreach (var user in users) { var selectExamPaper = examPapers[random.Next(0, examPapers.Count)]; var studentPaper = CreateStudentPaperFromPaperJson(examId, Guid.Parse(user.UserId), selectExamPaper, lastExamNum++); //创建考生试卷 resultPapers.Add(studentPaper); foreach (var paperDetail in paperDetailsTemp[selectExamPaper.PaperId]) { var studentPaperDetail = CreateStudentPaperDetailFromDetail(studentPaper.StudentPaperId, paperDetail); //答题记录 resultPaperDetails.Add(studentPaperDetail); } } var eduContext = new eduEntities(); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); eduContext.BulkInsert(resultPapers); stopwatch.Stop(); var time1 = stopwatch.ElapsedMilliseconds; stopwatch.Restart(); eduContext.BulkInsert(resultPaperDetails); stopwatch.Stop(); var time2 = stopwatch.ElapsedMilliseconds; return($"耗时:{time1}_{time2}"); }
public static void Test1 <T>(IEnumerable <T> ts) { eduEntities uEntities = new eduEntities(); uEntities.BulkInsert(ts); }