Использование DTO в качестве модели для представления - PullRequest
0 голосов
/ 12 января 2010

Если вы видите в верхней части представления ASP.NET MVC:

<% var dto = (MyDto)Model; %>

... что-то не так? Мне это не кажется правильным ...

Ответы [ 2 ]

6 голосов
/ 12 января 2010

Вам не нужно приводить тип таким образом для строго типизированного представления. Если представление наследуется от ViewPage<MyDto>, тогда свойство Model будет иметь тип MyDto.

Если представление не является строго типизированным, то свойство Model имеет тип object, поэтому вам необходимо его привести.

В этом случае имеет смысл использовать строго типизированное представление

2 голосов
/ 12 января 2010

Вопрос: хорошо ли хранить объекты DTO в качестве модели для View? Мой ответ: это зависит. У DTO должно быть только одно поведение: хранение данных. Поэтому, когда вы используете объект DTO только для отображения его в представлении, тогда все в порядке.

View Model предназначена для хранения более сложных объектов, которые содержат несколько поведений, но нет никаких ошибок для хранения DTO.

...