Necesito comprobar si dos fechas son iguales en la consulta Linq y las fechas provienen de dos tablas diferentes (no como un parámetro) He analizado las soluciones existentes en la web y también en SO. algunos no son aplicables en mi caso y algunos no son elegantes. simplemente buscando una mejor solución alternativa si hay alguna.Solución elegante para verificar si dos fechas son iguales, en Linq (donde la segunda fecha NO es un parámetro)
consulta de ejemplo (que comparar sólo porciones fecha):
var query = from t1 in Table1
join t2 in Table2 on t1.Id equals t2.ForeignKeyId
where t1.Id = someId
&& t1.Date1.Date.Equals(t2.Date2.Date)
éste falla con un error " 'Date' no es compatible con LINQ a Entitiies Sólo inicializadores, miembros de la entidad, y las propiedades de navegación entidad. son compatibles "
la publicación 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported tiene una solución que compara día, mes y año por separado. Traté de envolverlo en un método de extensión, pero parece que a Linq tampoco le gustan los métodos de extensión. dado que la segunda fecha no es una variable, no puedo usar la otra solución mencionada en la publicación vinculada (y no puedo llamar al método "AddDays" en una fecha dentro de Linq por algún motivo). Parece que hay muchas limitaciones con la API de fecha en Linq.
¿Se comparan día, el mes y el año de trabajo por separado como se esperaba? – dasblinkenlight
sí, funciona si los comparo por separado. – RKP