¿Usando DateTime? .Value.TimeOfDay en la consulta LINQ

Estoy tratando de hacer una consulta con LINQ en ASP.NET MVC 3.

Tengo un modelo, llamémoslo Evento. Este objeto de evento tiene una propiedad de fecha, de DateTime ?. Lo que quiero es buscar los eventos que están entre 2 TimeSpans.

En este momento mi código se parece a lo siguiente:

<code>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;
</code>

Se lanza una excepción que me dice que "el miembro de tipo especificado 'TimeOfDay' no es compatible con LINQ para entidades".

No puedo evitar este problema, y ​​he estado intentando todo el día. Por favor ayúdame, estoy muy frustrado. :(

EDITAR:

Olvidé escribir aquí el "TimeOfDay" después de e.Date.Value. De todos modos, lo hice en mi código.

No puedo usar DateTime porque tengo que filtrar los eventos que ocurren entre cierta hora del día, a pesar de la fecha del evento.

Respuestas a la pregunta(1)

Su respuesta a la pregunta