在特定的时间间隔内获取数据

本文关键字:获取 数据 时间 | 更新日期: 2023-09-27 18:19:07

假设一个事件发生在11点。我希望能够显示只有如果该事件是1小时之间的事件开始,直到事件结束。谢谢你的帮助。

 from x in _context.Events
 join a in _context.Addresses on x.EventAddressID equals a.ID
 let aboutToStart = x.EventStartTime.AddHours(-1)
 let currentTime = DateTime.Now
 where x.EventStartTime >= aboutToStart && x.EventEndtime >= currentTime

在特定的时间间隔内获取数据

不能在服务器上使用.AddHours(-1)调用创建新的DateTime对象。相反,你应该使用EntityFunctions。AddHours方法计算服务器上的日期时间:

 var currentTime = DateTime.Now;
 var query = from x in _context.Events
             join a in _context.Addresses on x.EventAddressID equals a.ID
             let aboutToStart = EntityFunctions.AddHours(x.EventStartTime, -1)
             where x.EventStartTime >= aboutToStart && 
                   x.EventEndtime >= currentTime;