我正在尝试在ASP.NET MVC 3上使用LINQ进行查询。
我有一个模型,可以称之为事件。此事件对象具有DateTime?的Date属性。我想要获取两个TimeSpans之间的事件。
现在,我的代码如下所示:
TimeSpan From = new TimeSpan(8,0,0);
TimeSpan Until = new TimeSpan(22,0,0);
var events =
from e in db.Events
where e.Date.Value.TimeOfDay >= From,
e.Date.Value.TimeOfDay <= Until
select e;
引发异常,告诉我“LINQ to Entities不支持指定的类型成员'TimeOfDay'。”
我没有办法解决这个问题,而且我一直在努力。请帮助我,我很沮丧。 :(
编辑:
我忘了在e.Date.Value之后在此处写“TimeOfDay”。无论如何,我在代码中做了。
我无法使用DateTime,因为无论事件的日期如何,我都必须过滤发生在一天中特定时间之间的事件。
最佳答案
使用Date and Time Canonical Functions for LINQ-to-Entities。具体来说,看看
CreateTime(hour, minute, second)
如果需要帮助调用规范函数,请查看How To: Call Canonical Functions。
关于sql-server - 在LINQ查询中使用DateTime?.Value.TimeOfDay,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10000338/