public ActionResult Index(string Search) { using (ReviewsDb db = new ReviewsDb()) { // var Restaurant = db.Restaurants.ToList(); Boolean test = true; var rest = db.Restaurants.Where(p => p.Name.Contains(Search) || Search == null).Include(r => r.Reviews).ToList(); // var rest = db.Restaurants.Where(p => p.Name.Contains(Search) || p.Reviews.Count > 0).Include(r => r.Reviews).ToList(); // sourceModel destinationModel source var vm = Mapper.Map <List <Restaurant>, List <RestaurantListViewModel> >(rest); //mapping fron source to destination using source file if (Request.IsAjaxRequest()) { return(PartialView("_Restaurants", vm)); //(View,Data) } return(View(vm)); #region 1000 restaurants /* * List<RestaurantListViewModel> RestaurantVm = new List<RestaurantListViewModel>(); * * foreach (var item in Restaurants) { * RestaurantVm.Add(new RestaurantListViewModel { * Name = item.Name, * Id = item.Id, * ImageUrl = item.ImageUrl, * Address = item.Address, * City = item.City, * State = item.State, * Zip = item.Zip, * Phone = item.Phone, * Web = item.Web, * AverageScore = item.Reviews.Any() ? item.Reviews.Average(p => p.Rating) : 0, * CountOfReviews = item.Reviews.Count() * * }); //WORKS!!!! do for all props * }*/ #endregion } }