使用 Linq 查询获取下次会议日期失败

Get Next Meeting Date fails using Linq query

我需要显示 table 个会议日期中的下一个会议日期。一旦一个日期作为当前日期通过,下一个日期应该会出现。我已经搜索过类似的例子,但没有成功:

2019 年 5 月 21 日

2019 年 7 月 11 日

2019 年 8 月 8 日

2019 年 9 月 12 日

10/10/2019

11/14/2019

12/12/2019

我的 Linq 查询失败了。它没有 return 任何东西,例如在 10/10/2019 日期之后,因为 11/14/2019 实际上已经超过 1 个月了。

var LinqResult = (from c in _context.MeetingSchedule
                 where c.MeetingDate.Date >= DateTime.Now.Date && c.MeetingDate.Date <= DateTime.Now.Date.AddMonths(1)
                  select new { c.Location, c.MeetingDate, c.MeetingTime }).ToArray();

if (LinqResult.Any())
{
  //SEND NEXT MEETING DATE BACK VIA VIEWSTATE
}

此外,我很确定在会议召开后一年的最后一个月(12 月)会发生一些奇怪的事情。 我正在尝试显示当前的下一次会议,并在当前会议结束后将其更改为下一次会议。将月份加到 12 将创建月份编号 13,即 non-existent.

过滤掉已经发生的日期后,您可以按升序对会议日程进行排序,然后只选择第一个。

var LinqResult = (from c in _context.MeetingSchedule
                  where c.MeetingDate.Date >= DateTime.Now.Date
                  orderby c.MeetingDate.Date
                  select new { c.Location, c.MeetingDate, c.MeetingTime }).ToArray();

if (LinqResult.Any())
{
  //SEND NEXT MEETING DATE BACK VIA VIEWSTATE
}