-4

假设一个事件发生在 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
4

1 回答 1

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;
于 2013-06-19T15:52:09.253 回答