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)); }