我正在使用航班页面。现在,我的数据库中有一些航班,我想显示它们。
通过此查询,我将显示所选日期的所有航班(asp:calendar控件):

var destinationFlights =
    (from a in db.Flights
     where a.DepartureAirportId == depId && a.DestinationAirportId == destId && a.DepartureDate == depDate
     join Airports a1 in db.Airports on a.Airports.AirportName equals a1.AirportName
     join Airports a2 in db.Airports on a.Airports1.AirportName equals a2.AirportName
     select a).ToList();


我要实现的目标是,例如,我从日历表单中选择日期(2014-10-10),我希望查询在表格中进行搜索,并向我显示从所选日期开始+ -3天的间隔内的所有航班。有什么建议么?

最佳答案

您所需要做的就是确定开始日期和结束日期,然后在where子句中使用比较:

var earliest = depDate.AddDays(-3);
var latest = depDate.AddDays(4); // Exclusive

var destinationFlights = ...
    where ... && a.DepartureDate >= earliest && a.DepartureDate < latest
    ...;

关于c# - Linq to Sql查询,datediff + -3天,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26057310/

10-10 18:28