Tengo 4 entidades Profesores, Recursos, Materias y Asignaciones
La consulta que intento hacer debe recuperar todas las Asignaciones junto con sus Recursos y Materias para un Profesor dado.
Código C#:
Ver originalvar asignacionesPaginadas = await db.Asignaciones.AsNoTracking()
.Where(a => a.Profesores.ProfesorId=profesorId)
.Include(a => a.Materia)
.Include(a => a.Recurso)
.OrderBy(a => a.FechaHoraReserva)
.Skip(_paginado.CantidadPorPagina * _paginado.PaginaActual)
.Take(_paginado.CantidadPorPagina)
.ToListAsync();
Y genera la siguiente sentencia SQL:
Código SQL:
Ver originalSELECT
[Project1].[AsignacionId] AS [AsignacionId],
[Project1].[FechaHoraReserva] AS [FechaHoraReserva],
[Project1].[MateriaId] AS [MateriaId],
[Project1].[Nombre] AS [Nombre],
[Project1].[Carrera] AS [Carrera],
[Project1].[RecursoId] AS [RecursoId],
[Project1].[Descripcion] AS [Descripcion]
FROM ( SELECT
[Extent1].[AsignacionId] AS [AsignacionId],
[Extent1].[FechaHoraReserva] AS [FechaHoraReserva],
[Extent2].[MateriaId] AS [MateriaId],
[Extent2].[Nombre] AS [Nombre],
[Extent2].[Carrera] AS [Carrera],
[Extent3].[RecursoId] AS [RecursoId],
[Extent3].[Descripcion] AS [Descripcion]
FROM [dbo].[Asignaciones] AS [Extent1]
INNER JOIN [dbo].[Materias] AS [Extent2] ON [Extent1].[Materia_MateriaId] = [Extent2].[MateriaId]
INNER JOIN [dbo].[Recursos] AS [Extent3] ON [Extent1].[Recurso_RecursoId] = [Extent3].[RecursoId]
WHERE [Extent1].[Profesor_ProfesorId] = @p__linq__0
) AS [Project1]
ORDER BY [Project1].[FechaHoraReserva] ASC
OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY
Yo quiero que genere la siguiente sentencia SQL:
Código SQL:
Ver originalSELECT
[Extent1].[AsignacionId] AS [AsignacionId],
[Extent1].[FechaHoraReserva] AS [FechaHoraReserva],
[Extent2].[MateriaId] AS [MateriaId],
[Extent2].[Nombre] AS [Nombre],
[Extent2].[Carrera] AS [Carrera],
[Extent3].[RecursoId] AS [RecursoId],
[Extent3].[Descripcion] AS [Descripcion]
FROM [dbo].[Asignaciones] AS [Extent1]
INNER JOIN [dbo].[Materias] AS [Extent2] ON [Extent1].[Materia_MateriaId] = [Extent2].[MateriaId]
INNER JOIN [dbo].[Recursos] AS [Extent3] ON [Extent1].[Recurso_RecursoId] = [Extent3].[RecursoId]
WHERE [Extent1].[Profesor_ProfesorId] = @p__linq__0
ORDER BY [Extent1].[FechaHoraReserva] ASC
OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY
Estoy trabajando con la versión 6 de Entity Framework junto con SQL Server localdb 13.0.2151