私はそれは基本的に付属評価のための質問と回答のリストを取得し、それらを割り当てMVCどこで私のviewmodelを設定するコードを置くのですか?
public AssessmentResponseVM ConfigureAssessmentViewModel(AssessmentResponseVM model)
{
if (model.AssessmentID != null)
{
model.Questions = getQuestionAndAnswerList(model.AssessmentID);
}else
{
model.Questions = getQuestionAndAnswerList(null);
}
return model;
}
私のコントローラ内でこのメソッドを呼び出して、エンティティ
からのデータを移植する必要があるのviewmodelを持っていますビューモデルのプロパティへこのConfigureAssessmentViewModel
メソッドはどこに住んでいますか?現時点では私のコントローラーに座っていますが、私はそこに気に入っているのか分かりません。それはビューモデルクラスまたは他の場所に置かなければなりませんか?あなたは自分のコントローラにこのロジックを維持し、質問の列挙を返す必要があります。この場合
これは適切であると考えられています。マッピングはコントローラにのみ適用される可能性が高いので、コントローラ内のプライベートメソッドは別のサービスに移動するので、うまくいくでしょう。しかし、それはあなたのビューモデルクラスに含まれるべきではありません。それはビューモデルにコンテキストを注入することなくユニットテストにコードを不可能にします。ビューモデルには関連するデータモデルの知識がなくてはなりません(その逆もあります) –