Linq to SQL 是用户日期范围与数据库日期范围相交
Linq to SQL is user date range intersecting DB date range
我需要定义用户日期范围是否与数据库中存储的任何其他日期范围(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 查询?
我想你可以像这样使用查询:
bool overlap = collection.Any(x=>(x.StartDate <= EndDate)&&(x.EndDate >= StartDate));
当然您需要将 collection 更改为您的数据库集合(这取决于您使用的数据库框架)
它将确定是否有任何 开始日期和结束日期对在提供的两个日期(开始日期和结束日期)之间开始和结束。
我需要定义用户日期范围是否与数据库中存储的任何其他日期范围(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 查询?
我想你可以像这样使用查询:
bool overlap = collection.Any(x=>(x.StartDate <= EndDate)&&(x.EndDate >= StartDate));
当然您需要将 collection 更改为您的数据库集合(这取决于您使用的数据库框架)
它将确定是否有任何 开始日期和结束日期对在提供的两个日期(开始日期和结束日期)之间开始和结束。