0

物理的な広告スポットとその予約 (日付範囲) のリストを保持するプログラムに取り組んでいます。プログラムは、広告カテゴリ内の広告の「空きスポット」を見つけることができる必要があります。

AdTypes、AdPlaces、Reservations の 3 つのテーブルがあります。現在、日付がユーザーが選択した日付範囲と衝突しない予約を検索し、AdType アイテムをリストとして返すクエリを実装しています。この方法は、すべての AdType がある時点で予約されている場合に機能しますが、Reservations テーブルにない AdType は一覧表示されません。

フィルタリングは、次のように AdTypes クエリの PreProcessQuery で行われます。

query = query.Where(r => r.Reservations.Any(res => (res.Begindate > Begindate && Enddate < res.Enddate) || (res.Enddate < Begindate && Enddate > res.Begindate)));

予約のないすべての AdType が「期限切れ」の AdType 予約と一緒にリストされるように、クエリを「拡張」するにはどうすればよいですか?

4

1 に答える 1

0

たぶん、私は何かを見逃しているか、あなたが何を望んでいるかをよく理解していませんが、存在しない AdType をどのように期待できますか?

テスト期間中に予約のない AdType を確認したいということでしょうか。

その場合、Reservation エンティティではなく、adType エンティティを画面のベースとして使用する必要があると思います (Reservation ではなく AdType に基づくクエリを使用)。こうすることで、予約が重複しない AdType のリストを作成できます。

それは意味がありますか?

于 2012-06-22T01:57:33.670 に答える