LINQ to Entities Join on DateTime.DayOfWeek
Imagine dos tablas: Turnos, RANK_S_DAY. Shifts contiene una columna ShiftDate que esDateTime
y RANK_S_DAY tiene unDayOfWeek
columna. Necesito unirme(int)ShiftDate.DayOfWeek equals DayOfWeek
. Entiendo por qué no funcionará, pero no estoy muy seguro de cómo puedo cambiarlo. La excepción es:
El miembro de tipo especificado 'DayOfWeek' no es compatible con LINQ to Entities. Solo se admiten inicializadores, miembros de la entidad y propiedades de navegación de la entidad.
Según tengo entendido, LINQ no puede traducir(int)ShiftDate.DayOfWeek
a algo que SQL entiende, ¿alguna idea?
Aquí está el código:
Shifts = from s in en.Shifts
join j in en.RANK_S_JOB on s.kronos_JobPositions.JobID equals j.JOBNO
join d in en.RANK_S_DAY on (int)s.ShiftDate.DayOFWeek equals d.DAY_OF_WEEK
orderby
d.RANK,
j.RANK ascending
select s;