Pregunta

Tengo un escenario clásico de muchos a muchos con tres tablas (estudiantes, cursos y tercera tabla de asignación de Alumnos).

Estoy usando EF en mi nuevo proyecto y el diseñador de EF no crea la tercera tabla. Necesito seleccionar todos los recursos junto con el número de estudiantes asignados. Usar SQL simple es muy sencillo:

select c.Id, c.Name, Count(sc.*) as StudentCount 
from Courses c left join StudentCourses sc on(c.Id=sc.CourseId)
group by c.Id, c.Name

Pero no puedo entender cómo traducir esta consulta a Linq a SQL. Por favor consejo.

Gracias.

¿Fue útil?

Solución

El diseñador EF esconde la mesa. Todavía está allí, pero solo crea la asociación para usted, por lo que puede hacer referencia a los estudiantes de los cursos o viceversa.

Otros consejos

Podrías hacer algo como esto:

var list = from c in context.Courses
           from s in c.Students
           select new
           {
             StudentName=s.Name,
             Class=s.Class,
           };

para obtener más información, consulte esta página

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top