Eu nunca precisei fazer isso, mas parece que o seu problema está em como organizar as classes.
Na OO, não existe um relacionamento many-to-many da mesma forma de um banco de dados.
No seu caso, acho que Aluno teria uma coleção de disciplinas (one-to-many) e talvez Disciplina teria uma coleção de alunos (one-to-many também).
Enfim, não sei dizer qual estrutura de classes seria melhor para o teu caso, mas a dica que posso dar é a seguinte: pense na estrutura das classes quando for implementar e esqueça um pouco o modelo relacional.
Espero ter ajudado.
Diogo Augusto Pereira