我有一個需要填充數據從實體MVC在哪裏放置配置我的viewmodel的代碼?
我把這個方法我的控制器
public AssessmentResponseVM ConfigureAssessmentViewModel(AssessmentResponseVM model)
{
if (model.AssessmentID != null)
{
model.Questions = getQuestionAndAnswerList(model.AssessmentID);
}else
{
model.Questions = getQuestionAndAnswerList(null);
}
return model;
}
它基本上檢索爲提供評估問題和答案的列表,併爲它們分配中的視圖模型到視圖模型的屬性。這個ConfigureAssessmentViewModel
方法應該在哪裏生活?目前它坐在我的控制器中,但我不確定我喜歡那裏。它應該坐在viewmodel類還是其他地方?
基於太多的意見以適合SO的合適問題。由於映射可能只適用於控制器,因此控制器中的私有方法將會很好,並將其轉移到單獨的服務。但它不應該在你的視圖模型類中 - 這會讓你的代碼無法進行單元測試,而無需將視圖注入到視圖模型中。您的視圖模型應該不瞭解關聯的數據模型(反之亦然) –