lunes 17 de octubre de 2011

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
    });

0 comentarios:

Publicar un comentario en la entrada