Entity Framework отношения многие ко многим с дополнительным полем (База данных сначала)

У меня есть программа, использующая базу данных Entity Framework (EF) First на уровне доступа к данным. Я знаю, что для того, чтобы EF автоматически генерировал свойства навигации отношения «многие ко многим», таблица сопоставления должна содержать только составной первичный ключ:

Project
  - ProjectId (PK)
  - Name

ContentType
  - ContentTypeId (PK)
  - Name

ProjectContentTypeMapping
  - ProjectId (PK)
  - ContentTypeId (PK)

В этом случае все работает нормально, и я могу получить доступ к проектам из ContentTypes и наоборот с помощью свойств навигации.

Однако у меня есть требование иметь дополнительные поля, которые относятся к связи между Projects и ContentTypes, и это были бы дополнительные столбцы в таблице ProjectContentTypeMapping. Как только я добавляю их, я теряю свойства навигации, и EF показывает таблицу сопоставления в конструкторе.

Есть ли способ вручную настроить сопоставление между этими двумя таблицами в EF (Database First)? В качестве альтернативы, как я могу это представить? Я думал о том, чтобы, возможно, иметь дополнительную таблицу «метаданных» с FK для таблицы сопоставления, но мне это кажется «хакерским» ...

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос