Muitas relações com a tabela de junções no Entity Framewor

Estou tentando criar um relacionamento muitos-para-muitos no Entity Framework (código primeiro), de acordo com o seguinte post:rojeto de banco de dados para um número limitado de opções no MVC e no Entity Framewor

No entanto, não consigo fazê-lo funcionar corretamente e tenho certeza de que estou fazendo algo muito simples da maneira errada. Aqui está o diagrama que não tenho das minhas tentativas:

O ponto da tabela de junção é que eu preciso ter uma propriedade extra, Level, no relacionamento, então não posso simplesmente ir com um relacionamento direto entre Consultor e Programa. Adicionei a entidade ConsultantProgramLink manualmente no designer e, em seguida, adicionei associações ao Program e Consultant, respectivamente, selecionando adicionar um FK para cada um e, em seguida, criei as duas chaves primárias. Mas quando faço assim, não funciona como eu esperava:

Se eu tivesse feito uma associação direta entre o Consultor e o Programa, poderia consultar, digamos, os Programas de Consultor no meu código. Mas isso não funciona agora com a tabela de junções. Existe alguma maneira de remediar isso ou eu sempre tenho que passar pela propriedade junction (Consultant.ConsultantProgramLink.Programs)? De qualquer forma, mesmo se eu tentar acessar a propriedade junction, isso não ajuda. Eu posso fazer Consultant.ConsultantProgramLink no meu código, mas outro ponto não me fornece a propriedade de navegação Programs (que por algum motivo também se tornou simplesmente Program, por quê? Posso renomeá-los apenas se tiver acesso a eles?) .

Então, o que estou fazendo de errado? Por que não consigo acessar as propriedades por meio de notação de ponto no meu código?

questionAnswers(1)

yourAnswerToTheQuestion