Pergunta

Eu tenho um muito clássica para muitos cenário com três tabelas (estudantes, cursos e terceiros StudentsCourses tabela atribuição).

Eu estou usando EF no meu novo projeto e EF Designer não cria terceira tabela. Eu preciso selecionar todas as cources junto com o número de estudantes que lhe são atribuídas. Usando SQL simples é muito simples:

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

Mas eu não consigo descobrir como traduzir esta consulta para LINQ to SQL. Por favor conselho.

Obrigado.

Foi útil?

Solução

O designer EF esconde a mesa. Ele ainda está lá, mas ele só cria a assocation para você, então você pode apenas estudantes de referência de cursos ou vice-versa.

Outras dicas

Você poderia fazer algo parecido com isto:

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

Para obter mais informações olhada em desta página

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top