2017-10-27 11 views
-4

のためのリストに参加しますコレクションルートを持っていれば、すべてのルートに収集ウェイポイントが必要です。LINQは、私は3コレクションを持っているEACN項目

私は2つのコレクションのしくみを知っています。 それは私が中間地点に参加する第三接続する方法を私のクエリ

var waypoints = from team in teams 
       join route in Routes on team.TeamID equals route.TeamID 
       into rList 
       select new { teamName= team.teamName, Rlist = rList}; 
foreach (var t in waypoints) 
{ 
    Console.WriteLine("<{0} team>:", t.teamName); 
    foreach (var m in t.Rlist) 
     Console.WriteLine(" " + m.RouteName); 
    Console.WriteLine(); 
} 

のですか?

私はあなたが必要な答えを生成するために巣あなたのLINQに必要

{ 
    team_1-> route_1->waypoint_1 
         waypoint_3 
         waypoint_5 
    team_2-> route_2->waypoint_4  
         waypoint_5  
         waypoint_9  
    team_4-> route_5->waypoint_5 
         waypoint_7 
         waypoint_8 
} 
+0

これはコピーされたコードのように見えますが、意味がありません –

+2

https://stackoverflow.com/help/mcve完全なコードサンプル(コードのサンプル入力を含む出力)私たちはより良いあなたを助けることができます。 – mjwills

+1

[3つのテーブルをlinqで結合する方法](https://stackoverflow.com/questions/41933985/how-to-join-3-tables-with-linq) – Reniuz

答えて

0

この結果のように取得したい:

var waypoints = from team in teams 
       join route in Routes on team.TeamID equals route.TeamID into rList 
       select new { 
        team.teamName, 
        Rlist = (from route in rList 
          join waypoint in WayPoints on route.RouteID equals waypoint.RouteRouteID into wList 
          select new { 
           route, 
           Wlist = wList.ToList() 
          }).ToList() 

を};

+0

大きなありがとう!それは私がどこでどのように私は3番目の結合を使用することができます理解したいと思ったものです。 – qqqqq

関連する問題