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

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

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

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

Чтобы создать связь между двумя классами:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      В процессе настройки ниже параметра Тип отображается картинка, визуализирующиая связь, в виде двух прямоугольников с именами связанных классов и с именами параметров связи. При изменении параметров связи надписи на картинке изменяются.

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

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

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

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

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

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