Перейти к основному содержимому

Создание связи между классами

Если вы хотите показать, что экземпляры классов модели данных связаны, вы описываете связи между экземплярами классов.

Вы можете связать классы после того, как вы создали атрибуты классов.

Чтобы создать связь между двумя классами, выполните следующие действия:

  1. В проекте выберите файл DataModel.mdmodel.

  2. На боковой панели нажмите значок UG_settings_icon.png и выберите раздел Классы.

  3. Если вы хотите создать связь многие-к-одному, в списке классов выберите класс, многие экземпляры которого связаны с одним экземпляром другого класса. Если вы хотите создать связь один-к-одному, в списке классов выберите любой из связываемых классов.

    В правой части рабочей области отображается подробная информация о выбранном классе. В терминах DevTools выбранный класс называется исходным.

  4. Выберите вкладку Связи.

  5. Справа от надписи Связи нажмите +.

  6. В окне Связь, которое открывается, укажите следующие параметры:

    • Имя (обязательный параметр): введите название связи. Вы можете использовать латинские буквы и цифры.

    • Описание (необязательный параметр): введите описание связи. Вы можете использовать любые символы.

    • Тип (обязательный параметр): выберите тип связи между классами один-к-одному — 1:1 или многие-к-одному — n:1. По умолчанию выбран тип n:1.

    • Целевой класс (обязательный параметр): в раскрывающемся списке выберите имя класса, один экземпляр которого должен быть связан со многими экземплярами выбранного класса. В списке отображаются все классы, созданные в экземпляре DevTools, с которым вы сейчас работаете.

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

      При вводе значения этого параметра руководствуйтесь следующими требованиями:

      • используйте латинские буквы, цифры и знак подчеркивания;
      • не используйте цифру в качестве первого символа;
      • вводите строку длиной не более 63 символов;
      • не используйте системные имена C#.

    • Название навигационного свойства в исходном классе (обязательный параметр): по умолчанию в этом поле отображается значение, соответствующее псевдониму целевого класса. Вы можете изменить значение согласно вашим предпочтениям, используя латинские буквы и цифры.

    • Название навигационного свойства в целевом классе (обязательный параметр): по умолчанию в этом поле отображается следующее:

      • для связи многие-к-одному: значение, соответствующее комбинации псевдонима исходного класса и строки List, например, SubscriptionList;
      • для связи один-к-одному: псевдоним исходного класса.

      Вы можете изменить значение в поле Название навигационного свойства в целевом классе согласно вашим предпочтениям, используя латинские буквы и цифры.

  7. Нажмите Создать.

    Окно Связь закрывается.

В исходном классе автоматически создается атрибут с именем FK <имя целевого класса>, псевдонимом <псевдоним внешнего ключа> и типом reference. Этот атрибут является внешним ключом.

Созданная связь отображается на вкладке Связь обоих связанных классов следующим образом:

  • для связи многие-к-одному:

    • в исходном классе: n:1;
    • в целевом классе: 1:n;
  • для связи один-к-одному в обоих связанных классах: 1:1.