linq (EF dbcontext) を使用して、厳密に型指定された IEnumerable 親エンティティ コレクション内の各親エンティティの子エンティティ コレクションをフィルター処理するステートメントが必要です。
例:
私は 4 つのホテルを所有しており、各ホテルには年間を通して複数の部屋の予約があります。ただし、6 月には、1 つのホテルには予約がありませんが (reservation.Count=0)、他の 3 つのホテルにはそれぞれ複数の予約があります。
問題:
試行 #1:IEnumerable(hotel) HotelList = (from hotels in context.Hotels select hotels).ToList();
'where' 句 (フィルター) を使用しないと、4 つのホテルの IEnumerable(hotel) HotelList コレクションと、データベース内のすべての予約の IEnumerable(reservation) ReservationList コレクションが取得されます (6 月の予約のみが必要です)。
試み #2:IEnumerable(reservation) ReservationList = (from reservations in context.Reservations where reservations.reservation_date_month == 'June' select reservations).ToList();
6 月のみの予約日をフィルターすると、ホテルの数は 4 ではなく 3 になります。
質問:
「親」のホテル コレクションを選択し、「子」の予約コレクションをフィルタリングして 6 月の予約のみを含める linq ステートメントが必要です (1 つのホテルには 6 月の予約がないことを思い出してください)。
期待される結果:
結果は、親の IEnumerable(hotel) HotelList コレクション (4 つのホテル エンティティすべてを含む) および子の IEnumerable(reservation) ReservationList コレクションである必要があります。 reserved.Count = 0 (つまり、予約エンティティなし)。
ありがとう - jd