Я новичок в работе с ASP.NET MVC 2, и один из примеров, которым я следую, - это официальный музыкальный магазин ASP.NET MVC. на codeplex.
В примере проекта у них есть такой сценарий: Есть три модели: Albums
, Artists
, Genres
.
Что заставляет меня сомневаться, так это то, как они относятся к своим представлениям, например, когда они хотят отредактировать альбом, необходимо иметь список всех исполнителей и жанров из базы данных, поэтому они создают ViewModel с именем StoreManagerViewModel
:
public class StoreManagerViewModel{
public Album Album{get;set;}
public List<Artists> Artists{get;set;}
public List<Genre> Genres{get;set;}
}
Эта ViewModel передается в представление и позволяет intellisense и видеть несколько моделей в представлении.
Похоже, что этот метод заставит меня иметь дополнительный класс почти для каждого отношения в моей модели: если у меня есть класс Discography, и я хочу связать Artists с Discography, мне придется создать еще одну ViewModel, как указано выше.
Однако мне не нравится иметь два свойства внутри метода альбома:
public List<Artists> Artists{get;set;}
public List<Genre> Genres{get;set;}
Есть ли лучший способ сделать это, кроме ViewModels? Есть способ чище?
Discography
вArtist
или добавить словарь дискографий к существующей модели представления? - person Jeff Sternal   schedule 27.01.2011