This case seems like a great opportunity to use the Repository Pattern. With this pattern, you could create a class called "FoodRepository" which could read from your DbSets for the specific tables, wrap them in the parent "Food" class, and return them as a list. This repository would contain all the logic for doing things like the "Top 5 Food". The controller would make a call to this repository, and return this List in the View Model. The View would then pass this to a partial view that is strongly-typed to a IEnumerable and would be responsible for displaying that list.
Here is a great tutorial on getting started using the Repository Pattern with EF Code First.