Я пытаюсь создать отношение "многие ко многим" в Entity Framework (сначала код), согласно следующему сообщению: Дизайн базы данных для ограниченного числа вариантов в MVC и Entity Framework ?
Однако я не могу заставить его работать должным образом, и я уверен, что ' я делаю что-то очень простое неправильно. Вот диаграмма, которую я не получил в результате моих попыток:
Смысл соединительной таблицы в том, что мне нужно иметь дополнительное свойство, Уровень, во взаимосвязи, поэтому я не могу просто установить прямую связь между Консультантом и Программой . Я вручную добавил сущность ConsultantProgramLink в конструктор, а затем добавил ассоциации к программе и консультанту соответственно, выбрав для каждого из них FK, а затем сделал их оба первичными ключами. Но когда я делаю это так, это работает не так, как я ожидал:
Если бы я сделал прямую связь между Консультантом и Программой, я мог бы сослаться, скажем, на Консультант.Программы в моем коде. Но сейчас это не работает с соединительным столом. Есть ли способ исправить это, или мне всегда нужно проходить через участок перекрестка (Консультант. КонсультантПрограммаСсылка.Программы)? В любом случае, даже если я попытаюсь пройти через свойство junction, это не поможет. Я могу использовать Consultant.ConsultantProgramLink в своем коде, но другая точка не дает мне свойства навигации Programs (которое по какой-то причине также стало просто Program, почему? Могу я просто переименовать их, если я в конечном итоге получу к ним доступ?) .
Так что я делаю не так? Почему я не могу получить доступ к свойствам через точечную нотацию в моем коде?