public QuestionEntity ToEntity(ProfessionalQualitiesDbContext dbContext, int order, bool areAnswerOptionsUnique = true)
        {
            QuestionEntity entity = new QuestionEntity
            {
                Order       = order,
                Formulation = Formulation
            };

            if (areAnswerOptionsUnique)
            {
                var answerOptionEntities = AnswerOptions.Select(ao => ao.ToEntity(dbContext)).ToList();
                for (int i = 0; i < answerOptionEntities.Count; ++i)
                {
                    dbContext.QuestionsAnswerOptions.Add(new QuestionAnswerOption
                    {
                        Question     = entity,
                        AnswerOption = answerOptionEntities[i],
                        Order        = i
                    });
                }
            }
            dbContext.Questions.Add(entity);

            return(entity);
        }
 public Question(QuestionEntity questionEntity)
     : this(questionEntity.Id, questionEntity.Formulation,
            questionEntity.QuestionAnswerOptions
            .OrderBy(qao => qao.Order)
            .Select(qao => qao.AnswerOption)
            .Select(aoe => new AnswerOption(aoe)))
 {
 }