EF4 + MVVM - Отображать сущности во ViewModel?

Я пробовал различные реализации Model-View-ViewModel и постоянно сталкивался с ситуацией, когда я не уверен в правильном пути продолжения. Я знаю, что одна из целей MVVM - отделить представление от логики приложения, чтобы логику можно было протестировать без присутствия представления. Помещение логики в ViewModel, которая не зависит от View, решает эту проблему. Отлично. Еще лучше, если Модель может быть отделена от ViewModel таким образом, чтобы ее можно было высмеивать.

Итак, мой вопрос: должна ли ViewModel отделять Модель от View? Другими словами, нормально ли предоставлять сущности EntityFramework представлению через ViewModel? Например, предположим, что в представлении есть поле со списком, в котором пользователь может выбрать состояние для адреса. В AddressViewModel должно ли State быть представлено как реальное свойство типа сущности или должно быть представлено как StateViewModel? Если это должно быть свойство типа StateviewModel, я не • понять, как должна управляться базовая модель в установщике AddressViewModel.State (поскольку в свойстве устанавливается StateViewModel, а не объект State).

Мне кажется, что это может происходить любым путем, но кажется более последовательным, чтобы никогда не подвергать модель непосредственному просмотру. Мысли?

6
задан Mike Gates 10 November 2010 в 17:32
поделиться