2010-08-10 4 views
5

Sollte mein ViewModel die Services kapseln, die benötigt werden, um es zu füllen?Sollte der Konstruktor meines ViewModels die Daten des ViewModels auffüllen?

Derzeit mache ich es wie folgt:

public PartialViewResult Companies(SearchViewModel search) 
{ 
    search.Summary = _entitySearchService.GetSearchDataSummary(search.SearchExpression); 
    search.PagedCompanies = _companyService.GetPagedEntities<Company>(search.SearchExpression); 

    return PartialView(search); 
} 

Aber was, wenn SearchViewModel bevölkert diese Eigenschaften im Konstruktor? Ich könnte StructureMap dazu bringen, die Schnittstellen zu den Diensten weiterzugeben. Wäre das eine gültige Verwendung eines ViewModels?

Antwort

1

Nein, tun das nicht, weil Ihre Wiederholung gehen zu müssen, für die gleiche Art von Immobilien in verschiedenen Viewmodels, Blick auf die Probe asp.net MVC-Projekt von hier: http://valueinjecter.codeplex.com