В настоящее время у меня есть приложение с домашней страницей, в которой показан список из десяти фильмов на основе даты, когда они были «созданы» или введены в базу данных. Я также хотел бы показать список из десяти лучших фильмов, основанный на рейтинге каждого фильма. Есть ли способ перейти в другую модель или изменить мой текущий ViewModel, чтобы сделать это? Вот раздел Индекс моего дома контроллера:Использование двух моделей в одном контроллере?
public ActionResult Index()
{
var model =
_db.Movies
.OrderByDescending(m => m.DateEntered)
.Take(10)
.Select(m => new MovieListViewModel
{
Id = m.Id,
Title = m.Title,
Genre = m.Genre,
ReleaseDate = m.ReleaseDate,
CountOfReviews = m.Reviews.Count()
});
return View(model);
}
И ViewModel передается в:
public class MovieListViewModel
{
public int Id { get; set; }
public string Title { get; set; }
public string Genre { get; set; }
[Display(Name="Year Released")]
public DateTime ReleaseDate { get; set; }
public int CountOfReviews { get; set; }
}
Вы можете создать единую модель представления, содержащую два набора результатов. Это становится немного более сложным с сценариями чтения/записи, но для отображения информации это очень просто. –