8

我正在尝试在 ASP.NET MVC 3 上使用 LINQ 进行查询。

我有一个模型,我们称之为事件。此 Event 对象具有 DateTime? 的 Date 属性。我想要的是获取 2 个 TimeSpan 之间的事件。

现在我的代码如下所示:

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 因为我必须过滤在一天中的特定时间之间发生的事件,尽管事件的日期。

4

1 回答 1

14

使用LINQ-to-Entities 的日期和时间规范函数。具体来说,看

CreateTime(hour, minute, second)

如果您在调用规范函数时需要帮助,请查看如何:调用规范函数

于 2012-04-03T20:07:47.173 回答