Muchas relaciones con la tabla de unión en Entity Framework?

Estoy tratando de crear una relación de muchos a muchos en Entity Framework (primero el código), de acuerdo con la siguiente publicación:Diseño de base de datos para un número limitado de opciones en MVC y Entity Framework.

Sin embargo, no puedo hacer que funcione correctamente, y estoy seguro de que estoy haciendo algo muy simple de la manera incorrecta. Aquí está el diagrama que no tengo de mis intentos:

El punto de la tabla de unión es que necesito tener una propiedad adicional, Nivel, en la relación, por lo que no puedo simplemente establecer una relación directa entre el Consultor y el Programa. Agregué la entidad ConsultantProgramLink manualmente en el diseñador, y luego agregué asociaciones al Programa y al Consultor respectivamente, seleccionando agregar un FK para cada una, y luego las convertí en las dos claves principales. Pero cuando lo hago así no funciona como esperaba:

Si hubiera hecho una asociación directa entre Consultor y Programa, habría podido consultar, por ejemplo, Consultant.Programs en mi código. Pero eso no funciona ahora con la mesa de conexiones. ¿Hay alguna forma de remediar esto o siempre tengo que pasar por la propiedad de unión (Consultant.ConsultantProgramLink.Programs)? En cualquier caso, incluso si trato de pasar por la propiedad de unión, no ayuda. Puedo hacer Consultant.ConsultantProgramLink en mi código, pero otro punto no me da la propiedad de navegación Programas (que por alguna razón también se convirtió en simplemente Programa, ¿por qué? ¿Puedo cambiarles el nombre si eventualmente tengo acceso a ellos?) .

Entonces, ¿qué estoy haciendo mal? ¿Por qué no puedo acceder a las propiedades a través de la notación de puntos en mi código?

Respuestas a la pregunta(1)

Su respuesta a la pregunta