Использование DateTime?.Value.TimeOfDay в запросе LINQ

Я пытаюсь выполнить запрос с помощью LINQ в ASP.NET MVC 3.

У меня есть модель, назовем ее Event. Этот объект Event имеет свойство Date DateTime?. Я хочу получить события, которые находятся между двумя интервалами времени.

Прямо сейчас мой код выглядит следующим образом:

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;

Возникает исключение, говорящее мне, что «указанный член типа TimeOfDay не поддерживается в LINQ to Entities».

Я не могу решить эту проблему, и я весь день пытался. Пожалуйста, помогите мне, я так расстроен.:(

РЕДАКТИРОВАТЬ:

Я забыл написать здесь «TimeOfDay» после e.Date.Value. Во всяком случае, я сделал в своем коде.

Я не могу использовать DateTime, потому что мне нужно фильтровать события, которые происходят в определенное время дня, несмотря на дату события.

8
задан tereško 29 July 2013 в 23:06
поделиться