2013-10-20 44 views
0

我無法在任何地方找到明確的答案。我想加入3個表格,其中2個沒有直接關係。MVC&Linq:加入多個表格,強烈包含並傳遞到視圖/模型

  • 船舶> [ID] [姓名]
  • 行程> [ID] [ShipId] [名稱] [開始日期] [結束日期]
  • ItineraryPorts> [ID] [ItineraryId] [DayNumber] [端口]

Ship的EF/Model類有一個用於Itinerary和Itinerary的導航屬性,用於ItineraryPorts。

  1. 什麼是強類型包含的語法,渴望加載所有Ship,Itinerary和ItineraryPorts數據一氣呵成?我想從Ship表(不是Itinerary)開始。

    Ship ship = repository.Ships 
        .Include(s => s.Itinerary) 
        // What now? 
    
  2. 我可以將結果作爲Ship模型傳遞給視圖嗎?即,我可以通過行程表深入到行程端口數據嗎?或者我需要一個視圖模型?

回答

0

這應該工作:

Ship ship = repository.Ships.Include(s => s.Itinerary.Select(it => it.ItineraryPorts)) 

你並不需要爲您查看特定視圖模型,因爲所有你需要的數據可以通過船模被發現。

相關問題