让我们说事件发生在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
答案 0 :(得分:1)
您无法使用DateTime
调用在服务器上创建新的.AddHours(-1)
个对象。相反,您应该使用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;