Настройка отношения виртуальных таблиц

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

  • Локальные таблицы в Dataverse и виртуальные таблицы.
  • Виртуальные таблицы и другие виртуальные таблицы того же поставщика, например SQL->SQL.

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

Заметка

Невозможно создать отношение, в котором виртуальная таблица находится на стороне "1" связи 1:N (один-ко-многим). Это связано с тем, что виртуальные таблицы представляют собой представления метаданных исходной таблицы. При создании связи на стороне 1 этой связи добавляются дополнительные вспомогательные столбцы. Dataverse не имеет возможности создавать новые столбцы в исходных системах.

Определение отношений в виртуальных таблицах

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

В следующем примере создается отношение N:1 между виртуальной таблицей (Запрос на обслуживание) и собственной таблицей (Account). Столбец, используемый для настройки отношений, это AccountId. Этот столбец является первичным ключом в таблице учетных записей и внешним ключом в таблице запросов на обслуживание.

Здесь отображается представление виртуальной таблицы "Запрос службы ". Вы заметите, что столбец AccountId, который является столбцом, используемым для отношения во внешнем источнике, имеет тип Несколько строк текста. Чтобы создать связь, этот столбец должен иметь тип Lookup.

Создание столбцов в виртуальной таблице

  1. Перейдите к Дополнительные параметры > Параметры > Настройка и выберите Настроить систему.

  2. В левой панели навигации разверните представление Сущности и перейдите к определению виртуальной таблицы Запрос на обслуживание.

  3. Выберите представление Поля, выберите столбец AccountId, затем выберите Удалить.

  4. Выберите Удалить, чтобы подтвердить удаление этого столбца.

  5. Чтобы создать отношение, выберите Отношение N:1 внутри таблицы Запрос на обслуживание.

  6. Выберите Создать отношение "многие к одному".

  7. Введите следующие сведения, чтобы создать отношение между виртуальной таблицей Запрос на обслуживание и таблицей Account.

    1. В разделе Определение отношения – установите значение столбца Основная сущность на Account.
    2. При желании, если вы хотите отредактировать имя отношения, вы можете сделать это в столбце Имя.
    3. В разделе Поле подстановки установите для параметра Отображаемое имя значение Учетная запись.
    4. Столбец Имя автоматически заполняется именем столбца подстановки.
    5. Установите для Внешнее имя значение AccountId (соответствует имени столбца в исходной таблице).
  8. Сохраните, а затем закройте связь.

    Создание отношения

  9. Обратите внимание на столбцы виртуальной таблицы Запрос на обслуживание: вы заметите, что столбец AccountId имеет тип Поиск. Теперь этот столбец можно добавлять в формы и представления, чтобы просмотреть все связанные учетные записи для каждой записи запроса на обслуживание.

    Столбцы настраиваемой таблицы

  10. Установив отношения, вы теперь можете создать новый запрос на обслуживание и выбрать учетные записи, с которыми их нужно связать.

    Создание настраиваемой таблицы

Заметка

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

Совет

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

Следующие шаги

Создание виртуальных таблиц с помощью поставщика виртуальных соединителей (предварительная версия)