0

我正在开发一个程序,该程序保留物理广告点列表及其预订(日期范围)。该程序需要能够为广告类别中的广告找到“开放点”。

我有三个表:AdTypes、AdPlaces 和 Reservations。目前,我正在实现一个查询,用于搜索日期与用户选择的日期范围不冲突的预订,并将 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?

如果是这样,我想您必须使用 adType 实体作为屏幕的基础,而不是 Reservation 实体(使用基于 AdType 的查询,而不是 Reservation)。这样您就可以生成一个没有任何重叠保留的 AdType 列表。

这有任何意义吗?

于 2012-06-22T01:57:33.670 回答