Использование DTO в качестве модели для представления

StackOverflow https://stackoverflow.com/questions/2048462

  •  20-09-2019
  •  | 
  •  

Вопрос

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

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

...что-то не так? Мне это не кажется ...

Это было полезно?

Решение

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

Если представление не сильно напечатано, то свойство модели имеет тип object Так что вам нужно будет разыграть это.

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top