как передать selectmany объединить с groupby для просмотра MVC - PullRequest
1 голос
/ 17 марта 2012

У меня есть следующее лямбда-выражение в приложении MVC.

 var toprating=  _db.Movie.SelectMany(m => m.Rating.Select(r=> new 

            {

           movieID=r.MovieID,
           MovieTitle= m.Title
            })).GroupBy(m=>m.movieID).ToList();

      ViewBag.TopMovie = toprating;
        }

Я хочу передать это на мой взгляд. я пытаюсь написать следующее на мой взгляд

 IEnumerable<Movie> TopMovies = ViewBag.TopMovie;

но получил эту ошибку

Cannot implicitly convert type 'object' to 'System.Collections.Generic.IEnumerable<Movie>'. An explicit conversion exists (are you missing a cast?)

любая помощь будет оценена.

1 Ответ

0 голосов
/ 18 марта 2012

Я бы порекомендовал вам создать класс, который отображает вашу доменную сущность (фильм), например

public class MyMovie{
 public int movieID { get; set; }
 public string MovieTitle { get; set; }  
}

и измените ваш linq запрос как

var toprating=  _db.Movie.SelectMany(m => m.Rating.Select(r=> new MyMovie
            {
              movieID=r.MovieID,
              MovieTitle= m.Title
            })).GroupBy(m=>m.movieID).ToList();

ViewBag.TopMovie = toprating;
IEnumerable<MyMovie> TopMovies = ViewBag.TopMovie; 

Я предположил, что Фильм - это ваш домен, используйте модели представлений, чтобы перейти к представлениям.

вы можете найти это полезно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...