为什么我的查询没有结果?答案 | 您所在的位置:网站首页 › datetime和datetime2 › 为什么我的查询没有结果?答案 |
我可以从您生成的 SQL 中看到,它正在对 INNER JOIN 执行 FROM Reservations 和 CampingSpots,并且您提到您确保该时间日期没有预订,因此没有结果... 编辑 1 根据您的评论,如果您想要所有没有预订的露营点,您想这样做 FROM CampingSpots cs LEFT JOIN Reservations r WHERE r.ID IS NULL在您的 Linq2Entitis 中,类似: public class Reservation { public DateTime ArrivalDate { get; set; } public DateTime LeaveDate { get; set; } } public class CampingSpot { public virtual Reservation Reservation { get; set; } } public class TestClass { public void Test() { var CampingSpots = new List().AsQueryable(); var ArrivalDate = new DateTime(); var LeaveDate = new DateTime(); var res = CampingSpots.Where(c => DbFunctions.TruncateTime(c.ArrivalDate) >= DbFunctions.TruncateTime(ArrivalDate) && DbFunctions.TruncateTime(c.LeaveDate) DbFunctions.TruncateTime(c.ArrivalDate) >= DbFunctions.TruncateTime(ArrivalDate) && DbFunctions.TruncateTime(c.LeaveDate) !db.Reservations.Any(r => DbFunctions.TruncateTime(r.ArrivalDate) >= DbFunctions.TruncateTime(ArrivalDate) && DbFunctions.TruncateTime(r.LeaveDate) !db.Reservations.Any(r => (DbFunctions.TruncateTime(r.ArrivalDate) >= DbFunctions.TruncateTime(ArrivalDate) && DbFunctions.TruncateTime(r.ArrivalDate) < DbFunctions.TruncateTime(LeaveDate)) || (DbFunctions.TruncateTime(r.LeaveDate) DbFunctions.TruncateTime(ArrivalDate)) )).ToList(); |
CopyRight 2018-2019 实验室设备网 版权所有 |