Ignorar Tiempo en Query Linq to Entities

En Linq to Entities realizar una comparación de fechas sin tener en cuenta la hora me presentó un problema.

Mi código era:
var RessSor = (from s in db.sorteoLoteria
    join l in db.dic_loteria on s.fk_loteriaId equals l.pk_id
    where s.fecha.Date == dt.Date
    select new
    {
        NombreComercial = l.nombreComercial,
        NombreSEO = l.nombreSEO
    });
Este código funcionaba correctamente en LinQ to SQL, pero en LinQ to Entities no. Investigando un poco encontré la solución:
using System.Data.Objects;
...
var RessSor = (from s in db.sorteoLoteria
    join l in db.dic_loteria on s.fk_loteriaId equals l.pk_id
    where EntityFunctions.TruncateTime(s.fecha) == dt.Date
    select new
    {
        NombreComercial = l.nombreComercial,
        NombreSEO = l.nombreSEO
    });

Comentarios

  1. Esto tambien lo podias hacer con s.Fecha.Date

    Saludos!!

    ResponderEliminar
  2. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  3. Hola, EntityFunctions.TruncateTime funciona tanto en sqlServer como en oracle??
    gracias

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Instalar programa como servicio Windows

Ejecutar programa como servicio windows server 2008

Habilitar Ping Firewall Windows 2008