コード例 #1
0
        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}");
        }
コード例 #2
0
        public static List <Base_User> GetUserTotal()
        {
            var eduContext = new eduEntities();

            return(eduContext.Base_User.ToList());
        }
コード例 #3
0
        public static List <Exam_Content> GetExamContents(Expression <Func <Exam_Content, bool> > predicate)
        {
            var edContext = new eduEntities();

            return(edContext.Exam_Content.Where(predicate).ToList());
        }
コード例 #4
0
        public static List <Exam_Papers> GetExamPapersList(Expression <Func <Exam_Papers, bool> > predicate)
        {
            var edContext = new eduEntities();

            return(edContext.Exam_Papers.Where(predicate).ToList());
        }
コード例 #5
0
        /// <summary>
        /// 获取考生试卷
        /// </summary>
        /// <returns></returns>
        public static List <Exam_StudentPapers> GetStudentPapersList(Expression <Func <Exam_StudentPapers, bool> > predicate)
        {
            eduEntities ed = new eduEntities();

            return(ed.Exam_StudentPapers.Where(predicate).ToList());
        }
コード例 #6
0
        public static void Test1 <T>(IEnumerable <T> ts)
        {
            eduEntities uEntities = new eduEntities();

            uEntities.BulkInsert(ts);
        }