【问题标题】:Linq to SQL is user date range intersecting DB date rangeLinq to SQL 是用户日期范围与数据库日期范围相交
【发布时间】:2015-03-15 01:26:07
【问题描述】:

我需要定义的是用户日期范围与存储在数据库中的任何其他日期范围(StartDate 和 EndDate 字段)相交。 例如数据库值

StartDate  | EndDate
2015-01-01 | 2015-01-30
2015-02-01 | 2015-02-25

而用户输入StartDate: 2015-01-12 EndDate 2015-02-13. 我需要找出用户范围已被占用。 有可能与一个 LINQ 查询有关吗?

【问题讨论】:

    标签: c# mysql sql-server linq linq-to-sql


    【解决方案1】:

    我认为你可以使用这样的查询:

    bool overlap = collection.Any(x=>(x.StartDate <= EndDate)&&(x.EndDate >= StartDate));
    

    当然,您需要将 collection 更改为您的数据库集合(这取决于您使用的数据库框架)

    它将确定是否有 ANY 开始日期和结束日期对在提供的两个日期(StartDate 和 EndDate)之间开始和结束。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      相关资源
      最近更新 更多