テスト用のlinqを作成しましたが、特別なことは何もありません:
public IEnumerable<Flight> GetActiveFlights(IEnumerable<Flight> flights)
{
return from flight in flights
from segments in flight.Segments
where segments.DepartureDate > DateTime.Now
select new Flight
{
Segments = flight.Segments
};
}
そして、飛行中の各セグメントの各行に複数の行を返します=/
例:
フライトリストには次のものがあります: セグメント 1、セグメント 2
セグメント 1 のリスト: 出発、到着 セグメント 2 のリスト: 出発、到着
それ以外の:
出発: 2.9.2013 4:50:51、到着: 2.9.2013 7:50:51;
出発: 2.9.2013 5:50:51、到着: 2.9.2013 7:50:51; 出発: 2.9.2013 8:50:51、到着: 2.9.2013 10:50:51;
私は得る:
出発: 2.9.2013 4:50:51、到着: 2.9.2013 6:50:51;
出発: 2.9.2013 5:50:51、到着: 2.9.2013 7:50:51; 出発: 2.9.2013 8:50:51、到着: 2.9.2013 10:50:51;
出発: 2.9.2013 5:50:51、到着: 2.9.2013 7:50:51; 出発: 2.9.2013 8:50:51、到着: 2.9.2013 10:50:51;
つまり、飛行中のセグメントが複数ある場合は、2 つのレコードが取得されます。アドバイスをいただければ幸いです。