Возможный дубликат:
ASP.NET MVC - модель Linq to Entities в качестве модели представления - это хорошая практика?
Можно ли использовать классы сущностей EF в качестве моделей представления в ASP.NET MVC?
Что, если модель просмотра на 90% совпадает с классом сущности EF?
Допустим, у меня есть класс Survey в модели Entity Framework. Он на 90% совпадает с данными, необходимыми для редактирования. Единственное отличие от того, какая модель представления должна иметь, - это одно или несколько свойств, которые будут использоваться в ней (которые необходимы для заполнения объекта Survey, потому что класс EF не может быть напрямую сопоставлен с тем, как его свойства представлены (вспомогательные флажки, радиогруппы и т. .))
Вы их передаете с помощью ViewData []? Или создать копию класса Survey (SurveyViewModel) с новыми дополнительными свойствами (он должен иметь возможность копировать данные из Survey и обратно в него)?
Изменить: я также стараюсь избегать использования Survey в качестве свойства SurveyViewModel. Будет выглядеть странно, если некоторые свойства Survey обновляются с использованием UpdateModel или связывателя по умолчанию, а другие (которые не могут быть напрямую сопоставлены с сущностью) - с использованием настраиваемых свойств SurveViewModel в контроллере.