Подтвердить что ты не робот

Entity Framework - добавить свойство навигации вручную

Я создал модель базы данных Entity (4.0) из моей базы данных. Я не проектировал базу данных и не имел никакого контроля над схемой, но есть несколько таблиц, которые не имеют ограничений внешнего ключа, но определено неявное отношение.

Например:

У меня есть таблица под названием People, которая имеет следующие столбцы: GenderID RaceID

Существуют таблицы как для пола, так и для расы, но в таблице "Люди" нет внешнего ключа.

Когда я импортировал модель, она не добавила свойства навигации для этих отношений. Я попытался добавить его вручную, но от роли и роли отключен. Я не уверен, как добавить отношения самостоятельно. Как это сделать?

4b9b3361

Ответ 1

Yup - это не так просто.

Вот что вы делаете:

1 - щелкните правой кнопкой мыши конструктор, Добавить Ассоциация

2 - Настройте связь и мощности (Люди *.. 1 Пол, Люди *.. 1 Раса)

3 - Перейдите в Обозреватель моделей Ассоциации

4 - Щелкните правой кнопкой мыши на только что созданные ассоциации, нажмите Свойства

5 - Здесь вам нужно настроить конечные точки для параметров ключа и каскада. Убедитесь, что конечные точки верны. Вы также можете настроить ссылочное ограничение для своего неявного навигационного свойства.

6 - Сопоставьте навигационное свойство с соответствующими таблицами/полями.

7 - Подтвердите свою модель, скрестите пальцы.

Надеюсь, что это поможет.

Ответ 2

Я столкнулся с этим сообщением в блоге, в котором предлагается следующее решение, которое отлично подойдет для меня (к сожалению, я не смог заставить RPM1984 работать в моей ситуации).

  • Добавить ассоциацию через контекстное меню контекстного контекстного меню дизайнера
  • Настройте свою Ассоциацию (обязательно снимите создание внешнего ключа)
  • Щелкните правой кнопкой мыши на ассоциации и выберите "Свойства"
  • Нажмите кнопку ... для ссылочного ограничения
  • Установить связь между клавишами внутри
  • Проверить (из контекстного меню дизайнера)
  • ???
  • Profit!