Использование DTO в качестве модели для представления
-
20-09-2019 - |
Вопрос
Если вы видите в верхней части представления ASP.NET MVC:
<% var dto = (MyDto)Model; %>
...что-то не так? Мне это не кажется ...
Решение
Вам не нужно принять тип таким образом для сильно напечатанного представления. Если представление наследует от ViewPage<MyDto>
тогда свойство модели будет типа MyDto
.
Если представление не сильно напечатано, то свойство модели имеет тип object
Так что вам нужно будет разыграть это.
В этом случае имеет смысл использовать сильно напечатанный взгляд
Другие советы
Вопрос в том, хорошо ли хранить объекты DTO в качестве модели для просмотра? Мой ответ: это зависит. DTO должен иметь только одно поведение: хранение данных. Поэтому, когда вы используете объект DTO только для отображения его в виде: тогда все в порядке.
View Model предназначена для хранения более соответствующих объектов, которые содержат несколько поведения, но нет вины в хранении DTO.