2015-12-29 7 views
0

Я получаю сообщение об ошибке:Я передаю 2 таблицы данных в единое представление, но я получаю сообщение об ошибке

The model item passed into the dictionary is of type 'System.Data.Entity.Infrastructure.DbQuery`1[jetjourneys.ViewModel.ItineraryPage]', but this dictionary requires a model item of type 'jetjourneys.ViewModel.ItineraryPage

Код:

public class ItineraryPage 
{ 
    public PackageGallery Package { get; set; } 
    public tblItinerary Itinerarydetail { get; set; } 
} 

public ActionResult ItineraryPackage(int id) 
{ 
     using (travelAndTourismEntities objentity = new travelAndTourismEntities()) 
     { 
      var query = (from x in objentity.tblItineraries 
         from y in objentity.PackageGalleries 
         where x.Imageid == id && y.Imageid == id 
         select new ItineraryPage { Package = y, Itinerarydetail = x }); 
      return View(query); 
     } 
} 

Это мой контроллер пожалуйста, помогите мне, где я делаю ошибку

+0

Это LINQ запрос возвращает 'DbQuery ' - не реальный, единственный 'ItineraryPage' - вам нужно сделать' .FirstOrDefault' или что-то подобное на результат запроса, чтобы перейти в вид –

ответ

0

Вы все еще возвращая IQueryable объект вместо фактического результата, это должно работать

FirstOrDefault()

public ActionResult ItineraryPackage(int id) 
{ 
     using (travelAndTourismEntities objentity = new travelAndTourismEntities()) 
     { 
      var query = (from x in objentity.tblItineraries 
         from y in objentity.PackageGalleries 
         where x.Imageid == id && y.Imageid == id 
         select new ItineraryPage { Package = y, Itinerarydetail = x }); 

      return View(query.FirstOrDefault()); //Update here 
     } 
}