Я думаю, что то, как вы это сделали в базе данных, является правильным и правильно переводит в модель.Обратите внимание на следующее:
Question AvailableAnswers CorrectAnswer
1 * 1 1, 2, 3 1
1 + 1 1, 2, 3 2
1 + 2 1, 2, 3 3
Все три Questions
имеют одинаковые доступные Answers
, и только когда Answer
относится к Question
и находится среди других Answers
, что выМожно сказать, правильно ли это.Поэтому Answer
не имеет «правильности», не будучи ассоциированным с Question
, что делает Answer's
«правильность» свойством Question
, а не Answer
.Это особенно верно, если один и тот же Answer
может быть связан с несколькими Questions
- корректно для одних, неверно для других.
Итак, подытоживая, я думаю, что Question.CorrectAnswer
имеет больше смысла, чем Answer.IsCorrect
.
Наконец, я думаю, что из такого рода вещей стоит задуматься, потому что если вам не нравятся ваши дизайнерские решения и структура вашей модели, это, вероятно, признак того, что что-то не так.t right:)