Entity Framework muitos para muitos relacionamento com campo extra (banco de dados primeiro)

Eu tenho um programa usando banco de dados de estrutura de entidades (EF) primeiro na camada de acesso a dados. Eu sei que para que o EF gere automaticamente as propriedades de navegação de um relacionamento muitos para muitos, a tabela de mapeamento precisa conter apenas uma chave primária composta:

Project
  - ProjectId (PK)
  - Name

ContentType
  - ContentTypeId (PK)
  - Name

ProjectContentTypeMapping
  - ProjectId (PK)
  - ContentTypeId (PK)

Nesse caso, tudo funciona bem, e eu posso acessar projetos de ContentTypes e vice-versa com propriedades de navegação.

No entanto, tenho um requisito para ter campos extras específicos à relação entre Projetos e ContentTypes, e isso seria colunas extras na tabela ProjectContentTypeMapping. Uma vez adicionado, perco as propriedades de navegação e o EF mostra a tabela de mapeamento no designer.

Existe alguma maneira eu posso configurar manualmente o mapeamento entre essas duas tabelas no EF (Database First)? Como alternativa, como posso representar isso? Eu estava pensando em talvez ter uma tabela extra de "metadados" com um FK para a tabela de mapeamento, mas parece "hacky" para mim ...

obrigado

questionAnswers(1)

yourAnswerToTheQuestion