Да, вы делаете это правильно.Так как это отношение N to N
, ему нужна присоединяемая сущность, как вы указали.Присоединяемая сущность будет иметь два основных свойства (внешний ключ), включая PersonId и EventId, а также другие необязательные свойства (в вашем случае Paid).
Обновление:
Что касается поиска причудливого пути, ответ - нет. При разработке базы данных вы ограничены используемой моделью данных, которая здесь является реляционной моделью данных.EF и другие виды ORM являются просто инструментами для связи между приложением и базой данных.
Однако, если вы определите один внешний ключ в классе Person с типом Collection<Event>
, а другой в классе Event с типом Collection<Person>
Каркас сущности автоматически создаст объединяющую таблицу с двумя внешними ключами.Но это не то, что вы хотите, потому что вам нужно добавить больше свойств в присоединяющуюся таблицу.