0

我在任何地方都找不到明确的答案。我想加入 3 个表,其中 2 个表不直接相关。

  • 船舶 > [ID] [名称]
  • 行程 > [Id] [ShipId] [Name] [StartDate] [EndDate]
  • ItineraryPorts > [Id] [ItineraryId] [DayNumber] [Port]

Ship 的 EF/Model 类具有 Itinerary 的导航属性和 ItineraryPorts 的 Itinerary。

  1. 一次性加载所有 Ship、Itinerary 和 ItineraryPorts 数据的强类型包含的语法是什么?我想从 Ship 表(不是 Itinerary)开始。

    Ship ship = repository.Ships
       .Include(s => s.Itinerary)
       // What now?
    
  2. 我可以将结果作为 Ship 模型传递给视图吗?ie 我可以通过 Itinerary 表向下钻取到 ItineraryPort 数据吗?还是我需要一个视图模型?

4

1 回答 1

0

这应该工作:

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

您的视图不需要特定的视图模型,因为您需要的所有数据都可以通过 Ship 模型找到。

于 2013-10-20T22:57:51.570 回答