Здесь есть несколько моментов:
- вы не захватываете результат
Select
- предположительно, у вашего представления нет правильного определения модели
Для 1 обратите внимание, что вы должны проецировать до буферизации - нет смысла создавать фактические экземпляры объекта MoviesData
, если LINQ может обойти его в проекции, так:
(примечание: я позволил себе переименовать MovieViewModels
в MovieViewModel
)
MovieViewModel[] movies = db.MoviesData.Select(movie => new MovieViewModel
{
MovieID = movie.MovieID,
MovieName = movie.MovieName,
MovieDescription = movie.MovieDescription,
MoviePrice = movie.MoviePrice,
MovieCategory = movie.MovieCategory,
MovieYear = movie.MovieYear
}).ToArray();
return View(movies);
(это также означает, что SQL может быть ограничен только столбцами, которые выВы заинтересованы в том, чтобы избежать извлечения ненужных столбцов)
Тогда в представлении вы должны иметь:
@model MovieViewModel[]
, который сообщает бритве тип, который нужно использовать для Model
.
С этим: все должно работать.