Still Learning MVC3, EF. For now I am connecting to MySql but I believe that will not be relevant. For simplicity, I decided to use one database for my test application and
You could do the following:
Controller:
public ActionResult Home()
{
IEnumerable myData = LinqQueryToGetAllTheDataUnFiltered();
ViewData.Model = new MyViewData { MyData = myData; }
return View();
}
ViewModel class:
public class MyViewData
{
List MyData { get; set; }
List News { get { return MyData.Where(m => m.Category = "News"); } }
List Events { get { return MyData.Where(m => m.Category = "Events"); } }
}
View:
@model MyViewModel
@Html.Partial("NewsPartial", Model.News)
@Html.Partial("EventsPartial", Model.Events)
Partial:
@model IEnumerable
This way we only queried for the data once and just passed a different set to each partial