![](/img/trans.png)
[英]how to find date range between two dates in days format using linq c#
[英]Date range falling between two dates in a LINQ query
我试图编写一个选择查询,该查询返回输入日期范围在LINQ查询中两个日期字段之间的记录。
我的输入是:
我的数据库字段是
另外,我还要确保输入14:00-15:00不会返回15:00-16:00的值。
return (from t1 in db.Appointments where (t1.AppointmentStart <= date2 && (t1.AppointmentEnd) >= date1)
如果有人可以帮助我,我将不胜感激。
我对您的要求不是100%清楚。 在开始行中,您要求输入“输入日期范围介于两个日期字段之间的记录”,但是在“其他”行中,您表示您不希望返回约会开始日期不相等的记录输入的结束日期。 我认为这是两个不同的要求,因此我将给您两个不同的查询。
第一个查询是:
from t1 in db.Appointments
where date1 >= t1.AppointmentStart
where date2 <= t1.AppointmentEnd
select t1;
第二个查询是:
from t1 in db.Appointments
where date2 > t1.AppointmentStart
where date1 < t1.AppointmentEnd
select t1;
第一个查询返回“包含”输入日期的记录。
第二个查询返回与输入日期“重叠”的记录。
我认为您想要重叠查询更有意义,并且该查询将满足您的“ 14:00-15:00不返回15:00-16:00的值”的要求。
如果我在理解您的要求时出错并需要进行任何更改,请告诉我。
它向后看。
如果满足以下条件:
Date1 =开始
Date2 =结束
那么我会认为startdate等于或等于约会开始,而enddate等于或等于约会结束,或者:
return (from t1 in db.Appointments where (date1 >= t1.AppointmentStart && date2 <= t1.AppointmentEnd))
我还更改了括号,因为它们对我没有意义(好像一个人不见了)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.