我的ViewModel是否应该封装填充它所需的服务?
目前我正在按如下方式进行:
public PartialViewResult Companies(SearchViewModel search)
{
search.Summary = _entitySearchService.GetSearchDataSummary(search.SearchExpression);
search.PagedCompanies = _companyService.GetPagedEntities<Company>(search.SearchExpression);
return PartialView(search);
}
但是如果SearchViewModel
在其构造函数中填充了这些属性呢?我可以让StructureMap将接口传递给服务。这是ViewModel的有效用途吗?
答案 0 :(得分:3)
查看这段精彩视频Put your controller on a diet。它涵盖了您正在寻找的东西,甚至更多。
答案 1 :(得分:1)
不,不要这样做是因为你要在不同的视图模型中重复相同类型的属性,请从这里查看示例asp.net MVC项目:http://valueinjecter.codeplex.com