示例#1
0
        public Task CreateQuestion(QuestionApiModel question)
        {
            Question questionModel = question.ToQuestion();

            using (DbContextTransaction dbTran = _context.Database.BeginTransaction())
            {
                try
                {
                    _context.Questions.Add(questionModel);
                    _context.SaveChanges();

                    var options = question.Options?.Select(x => x.ToOption(questionModel.Id));
                    _context.Options.AddRange(options);
                    _context.SaveChanges();
                    dbTran.Commit();
                }
                catch (DbEntityValidationException ex)
                {
                    dbTran.Rollback();
                    throw;
                }
            }

            return(Task.FromResult(0));
        }