2012-05-13 24 views
0

我有兩個表:旅遊和酒店我想執行連接查詢並在視圖中獲取結果。使用LinQ從兩個表(視圖和列表)獲取數據並返回到一個視圖(代碼MVC-C#)

如何查看兩個表中的數據,如下圖所示?

enter link description here

在控制器

我有這樣的代碼:

public ActionResult DetailView(string strID) 
    { 
     var id_tour = (from data1 in _db.Tours 
         join dataview2 in _db.TypeOfCosts on data1.ID_TourCost equals dataview2.ID_TourCost 
         where (data1.ID_Tour == strID) && (data1.ID_TourCost == dataview2.ID_TourCost) 
         select new 
         { 
          data1.TourName, 
          data1.ID_Tour, 
          data1.DepartureDay, 
          data1.DeparturePosition, 
          data1.AvailableRoom, 
          dataview2.AdultCost, 
          dataview2.ChildrenCost, 
          dataview2.BabyCost, 
         }).FirstOrDefault(); 
     var view_tour = new DetailModels(id_tour.TourName, id_tour.ID_Tour, Convert.ToDateTime(id_tour.DepartureDay), id_tour.DeparturePosition, 
      Convert.ToInt32(id_tour.AvailableRoom), 
      Convert.ToInt32(id_tour.AdultCost), Convert.ToInt32(id_tour.ChildrenCost), Convert.ToInt32(id_tour.BabyCost)); 
     return View(view_tour); 
    } 
    [HttpPost] 
    public ActionResult DetailView(DetailModels model) 
    { 
     var id_hotel = from data2 in _db.Tours 
         join dataview3 in _db.TourPrograms on data2.ID_Tour equals dataview3.ID_Tour 
         join dataview4 in _db.Programs on dataview3.ID_TourProgram equals dataview4.ID_TourProgram 
         join dataview5 in _db.Hotels on dataview4.ID_Hotel equals dataview5.ID_Hotel 
         where (data2.ID_Tour == dataview3.ID_Tour) && 
         (dataview3.ID_TourProgram == dataview4.ID_TourProgram) && (dataview4.ID_Hotel == dataview5.ID_Hotel) 
         select new 
         { 
          dataview5.HotelName, 
          dataview5.HotelAddress, 
          dataview5.HotelPhoneNumber, 
         }; 
     // chuyền dữ liệu vào như thế nào 
     return RedirectToAction("DetailView", "Tourpackage"); 
    } 

示範我有這樣的代碼:

enter code here public class DetailModels 
{ 
    public string TourName { get; set; } 
    public string ID_Tour { get; set; } 
    public DateTime DepartureDay { get; set; } 
    public string DeparturePosition { get; set; } 
    public int AvailableRoom { get; set; } 
    public string HotelName { get; set; } 
    public string HotelAddress { get; set; } 
    public int HotelPhoneNumber { get; set; } 
    public int AdultCost { get; set; } 
    public int ChildrenCost { get; set; } 
    public int BabyCost { get; set; } 
    public DetailModels(string tourname, string idtour, DateTime dapartureday, string departureposition, int availableroom, 
     int adultcost, int childrencost, int babycost) 
    { 
     this.TourName = tourname; this.ID_Tour = idtour; this.DepartureDay = dapartureday; this.DeparturePosition = departureposition; 
     this.AvailableRoom = availableroom; 
     this.AdultCost = adultcost; this.ChildrenCost = childrencost; this.BabyCost = babycost; 
    } 

希望對大家的幫助.... ........謝謝

回答

相關問題