日期选择后获取日期范围

时间:2015-07-31 10:15:05

标签: c# asp.net linq linq-to-sql

我有一个包含4列的数据库表(customer)

 fileName = fileSystem.root.fullPath+"/test/test.html";

开始和结束日期可以持续数天,即

Name
Lastname
StartDate
StopDate

我有一个ASP .Net日历控件。当用户点击此日历上的日期时,我希望以下列方式返回日期

如果选择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 ,将返回上述所有3条记录 如果选择01.01.2015,则仅返回最后2条记录(因为第1条记录现已过期) 如果选择02.01.2015,则仅返回最后2条记录(因为第1条记录现已过期) 如果选择03.01.2015,则仅返回最后一条记录(因为前2条记录已经过期)

希望这有道理吗?

所以我尝试实现这一点已经导致使用Linq to SQL

的一些混乱
06.01.2015

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

1 个答案:

答案 0 :(得分:1)

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

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

这意味着UserSelectedDate应该在开始日期之后或与开始日期相同,并且应该在结束日期之前或之后结束。