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