Imagine dos tablas: turnos, RANK_S_DAY. Turnos contiene una columna ShiftDate que es DateTime y RANK_S_DAY tiene una columna DayOfWeek. Necesito unirme a (int) ShiftDate.DayOfWeek igual a DayOfWeek. Entiendo por qué no funcionará, pero no estoy muy seguro de cómo puedo cambiarlo. La excepción es:LINQ a las entidades Únete en DateTime.DayOfWeek
El miembro de tipo especificado 'DayOfWeek' no es compatible con LINQ to Entities. Solo se admiten inicializadores, miembros de entidades y propiedades de navegación de entidades.
Según tengo entendido, LINQ no puede traducir (int) ShiftDate.DayOfWeek a algo que SQL entienda, ¿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;
Marque la respuesta real como "respuesta". – Monsignor