1

私はテストプログラムを作成しています。今私が持っている3つの主な目的は、テスト、質問と回答です。私はデータベースに3つのテーブル、テスト、質問と回答、質問からテストまでのFKと質問の答えからの強制キーを持っています。質問表の一環として、correct_answer_seq_numという列があります。この列には、その質問の正解である答えのseq_num(一意の識別子)が格納されています。私は質問表にこの属性を入れることにしました。なぜなら、1つの答えだけが正しい答えになることができるからです(この特定のテストの場合はテストがあります)。すべての回答に正しいとマークすることができます。このオブジェクトのプロパティ/属性はどこに置くべきですか

私が抱えている問題は、どのオブジェクトをこのプロパティに入れるべきかということです。それは実際には質問の属性ではなく、それは回答の属性のほうが多いですが、私はまだそれが質問クラスデータの完全性。

私はこのことをあまりにも大きく扱っていますが、そうでない場合は、どこにそのプロパティを置くべきですか。それは問題べきであると、私は

感謝をC#を使用しています

ありません!

答えて

1

私はあなたがデータベースでそれをやったやり方が正しいと思うし、正しくモデルに変換すると思います。次の点を考慮

すべての3つの Questions
Question AvailableAnswers CorrectAnswer 
    1 * 1   1, 2, 3    1 
    1 + 1   1, 2, 3    2 
    1 + 2   1, 2, 3    3 

は、同じ利用可能Answersを持っている、とAnswerQuestionに関連し、あなたはそれが正しいかどうかを言うことができる他のAnswersの中に置かれたときだけです。したがって、AnswerQuestionに関連することなく「正しさ」を持たず、Answer'sの「正当性」はAnswerではなくQuestionのプロパティになります。これは、同じAnswerが複数のQuestionsに関連付けられている可能性がある場合に特に当てはまります。

合計で、Question.CorrectAnswerAnswer.IsCorrectより意味があると思います。

最後に、デザインの決定やモデルの構造に慣れていないかのように、何かが正しくないという兆候であるように、この種のことから大きな価値を見出す価値があると思います。 )

+0

返信いただきありがとうございます。私はそれが行く道だとはかなり確信していましたが、何かが私と一緒に座っていませんでした。私はいくつかの友人に質問してください。再び、ありがとう! – jworrin

+0

あなたは大歓迎です:) –

関連する問題