选择日期后获取日期范围

Get date range after date selection

我有一个包含 4 列的数据库 table(客户)

Name
Lastname
StartDate
StopDate

开始日期和结束日期可以 运行 几天,即

StartDate          StopDate

01.01.2015 00:00 - 01.01.2015 01:00 - Period is 1 hour
01.01.2015 00:00 - 01.05.2015 01:00 - Period is 4 days
01.01.2015 00:00 - 01.10.2015 01:00 - Period is 9 days

我有一个 ASP .Net 日历控件。当用户单击此日历上的日期时,我想 return 按以下方式

如果选择 01.01.2015,上面的所有 3 条记录都将被 returned 如果选择 02.01.2015,则只有最后 2 条记录会被 returned(因为第 1 条记录现已过期) 如果选择 03.01.2015,则只有最后 2 条记录会被 returned(因为第 1 条记录现已过期) 如果选择 06.01.2015 只有最后一条记录会被 returned(因为前 2 条现在已经过期)

希望这有意义吗?

所以我尝试执行此操作导致使用 Linq 对 SQL

产生了一些混淆
Private IQueryable<Insurer> GetInsurers(DateTime UserSelectedDate)
{
    return db.Insurers(dt=> dt.StartDate >= UserSelectedDate && dt.StopDate <= UserSelectedDate)
}

我尝试了其他变体,包括互联网上的一些变体,但我没有得到结果,这通常意味着我在这里遗漏了一些关键的东西(或者我已经筋疲力尽了)......有什么想法吗?

只需交换变量在查询中的位置。

private IQueryable<Insurer> GetInsurers(DateTime UserSelectedDate)
{
    return db.Insurers(dt=> UserSelectedDate >= dt.StartDate && UserSelectedDate <= dt.StopDate)
}

这意味着 UserSelectedDate 应该晚于或等于开始日期,并且应该在结束日期之前或结束日期结束。