Практическое руководство. Определение связей данных в LightSwitch
При помощи конструктора данных в LightSwitch можно создавать, изменять и удалять отношения между данными. Используя отношения, вы можете создавать экраны, на которых связанные данные действуют вместе (например, экран, на котором отображаются как клиенты, так и их заказы).
Этот документ содержит следующие разделы.
Добавление отношения между таблицами или сущностями из одного источника данных
Добавление отношения между таблицами или сущностями из разных источников данных
Изменение отношения
Параметры кратности
Параметры поведения при удалении
Для просмотра связанных демонстрационных видеороликов см. раздел Практические советы. Определяете данные в приложении LightSwitch?.
Добавление отношения между таблицами или сущностями из одного источника данных
С помощью конструктора данных LightSwitch можно добавлять отношения между двумя таблицами во внутренней базе данных LightSwitch. В некоторых случаях конструктор данных можно также использовать для добавления отношений между сущностями из одного внешнего источника данных. Иначе эти отношения потребуется создать на сервере, а затем обновить подключение к данным в LightSwitch. Дополнительные сведения об обновлении подключения к источнику данных см. в разделе Практическое руководство. Подключение к данным.
Добавление отношения между таблицами во внутренней базе данных LightSwitch
В обозревателе решений откройте контекстное меню для одной из таблиц, которые необходимо использовать в отношении, а затем выберите пункт Открыть.
Примечание
Для приложений, которые были обновлены до версии Visual Studio 2012 Обновление 2, на панели Перспектива перейдите на вкладку Сервер.
На панели команд конструктора данных нажмите кнопку Отношения.
В диалоговом окне Добавление нового отношения в строке Имя выберите две таблицы, к которым требуется применить отношение (например, Customers и Orders).
В строке Кратность укажите, как требуется связать эти таблицы.
См. раздел Параметры кратности.
В строке Поведение при удалении укажите, какие действия должны выполняться в приложении, если пользователь попытается удалить запись в одной таблице, однако сохранить данные в связанной записи в другой таблице (например если пользователь попытается удалить клиента при наличии заказов этого клиента).
См. Параметры поведения удаления.
В строке Свойство навигации введите имена для всех свойств навигации, а затем нажмите кнопку ОК.
Свойства навигации помогают пользователям перемещаться между областями экрана, в которых отображаются связанные данные. Свойства навигации также отображаются как объекты в подсказках IntelliSense; эти объекты можно использовать для создания выражений LINQ в коде.
Добавление отношения между таблицами в присоединенной базе данных
В обозревателе решений откройте контекстное меню для одной из таблиц, которые необходимо использовать в отношении, а затем выберите пункт Открыть.
Примечание
Для приложений, которые были обновлены до версии Visual Studio 2012 Обновление 2, на панели Перспектива перейдите на вкладку Сервер.
На панели команд конструктора данных нажмите кнопку Отношения.
Откроется диалоговое окно Добавление нового отношения.
В столбце К строки Имя выберите таблицу, к которой нужно применить отношение.
Таблица должна содержать первичный ключ, используемый на первичной стороне отношения.
В строке Кратность укажите, как требуется связать эти таблицы.
См. раздел Параметры кратности.
В сетке данных, которая отображается в нижней части диалогового окна Добавление нового отношения, выберите свойство с Внешней стороны связи.
Это свойство должно соответствовать типу данных свойства ключа Первичный.
Примечание
Если таблица содержит составной первичный ключ, все типы данных внешнего ключа должны совпадать.
Примечание
Для отношения "нуль-или-один-ко-многим" свойство ключа Внешний не может быть обязательным полем.Для отношения "один-ко-многим" свойство ключа Внешний должно быть обязательным полем.Для отношения "нуль-или-один-ко-многим" значения первичного ключа должны использоваться с обеих сторон отношения.
Нажмите кнопку ОК.
Добавление отношения между таблицами или сущностями из разных источников данных
Конструктор данных LightSwitch можно использовать для добавления отношений между таблицами или сущностями из разных источников данных. Например, можно добавить отношение между таблицей во внутренней базе данных для LightSwitch и сущностью из списка SharePoint.
Добавление отношения между двумя таблицами или сущностями из разных источников данных
В обозревателе решений откройте контекстное меню для одной из таблиц, которые необходимо использовать в отношении, а затем выберите пункт Открыть.
Примечание
Для приложений, которые были обновлены до версии Visual Studio 2012 Обновление 2, на панели Перспектива перейдите на вкладку Сервер.
На панели команд конструктора данных нажмите кнопку Отношения.
Откроется диалоговое окно Добавление нового отношения.
В строке Имя выберите таблицы или сущности, к которым требуется применить отношение (например, Customers и Orders).
В строке Кратность укажите, как должны быть связаны эти таблицы или сущности.
См. раздел Параметры кратности.
Примечание
Обратите внимание, что строка Поведение при удалении для отношений этого типа не включена.
В строке Свойство навигации укажите имя для каждого свойства навигации.
Свойства навигации помогают пользователям перемещаться между областями экрана, в которых отображаются связанные данные. Свойства навигации также отображаются как объекты в подсказках IntelliSense; эти объекты можно использовать для создания выражений LINQ в коде.
В сетке данных, которая отображается в нижней части диалогового окна Добавление нового отношения, выберите свойство из одной таблицы или сущности и связанное свойство из другой таблицы или сущности и нажмите кнопку ОК.
Эти свойства используются при связи таблиц или сущностей. Например, можно выбрать свойство Id сущности Customer и свойство CustomerID сущности Order.
Изменение отношения
Конструктор данных в LightSwitch можно использовать для изменения или удаления отношения.
Изменение существующего отношения
В обозревателе решений откройте контекстное меню для одной из таблиц, которые используются в связи, а затем выберите Открыть.
Примечание
Для приложений, которые были обновлены до версии Visual Studio 2012 Обновление 2, на панели Перспектива перейдите на вкладку Сервер.
В конструкторе данных выберите свойство навигации, которое отражает связь с другой сущностью или таблицей.
Например, сущность Customer может иметь свойство с именем Orders, которое используется в качестве свойства навигации в отношении Customer-Orders.
В окне Свойства выберите ссылку Изменить свойства отношения.
Откроется диалоговое окно Изменение отношения.
Сведения об изменении отношения см. в соответствующем подразделе ниже:
Добавление отношения между сущностями из одного источника данных.
Добавление отношения между сущностями из разных источников данных.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Изменение отношения.
Чтобы удалить связь
В обозревателе решений откройте контекстное меню для одной из таблиц, которые используются в связи, а затем выберите Открыть.
Примечание
Для приложений, которые были обновлены до версии Visual Studio 2012 Обновление 2, на панели Перспектива перейдите на вкладку Сервер.
В конструкторе данных откройте контекстное меню для соединительной линии, представляющей связь с другой сущностью или таблицей, а затем выберите Удалить отношения.
Параметры кратности
В следующей таблице описаны сочетания параметров кратности, которые можно выбрать в LightSwitch.
Значение От |
Значение К |
Описание |
---|---|---|
Один |
Нуль или один |
Значение "От"может иметь одно или ни одного значения "К", при этом значение "К" должно иметь значение "От". |
Один |
Многие |
Значение "От" может иметь несколько значений "К", при этом значение "К" должно иметь значение "От". |
Нуль или один |
Один |
Значение "От" должно иметь одно значение "К", при этом значение "К" может иметь одно или ни одного значения "От". |
Нуль или один |
Многие |
Значение "От" может иметь несколько значений "К", при этом значение "К" может иметь одно или ни одного значения "От". |
Многие |
Один |
Значение "От" должно иметь значение "К", при этом значение "К" может иметь несколько значений "От". |
Многие |
Нуль или один |
Значение "От" может иметь одно или ни одного значения "К", а значение "К" может иметь несколько значений "От". |
Примечание
При помощи конструктора данных в LightSwitch невозможно задать отношение "один к одному", "ноль или один к нулю или одному" и "многие ко многим".
Параметры поведения при удалении
В следующей таблице описаны параметры, которые можно настроить для управления действиями при попытке пользователя удалить запись, которая является частью отношения. Некоторые параметры могут быть недоступны для определенных видов отношений.
Значение Поведение при удалении |
Описание |
---|---|
Каскадное удаление |
После удаления из таблицы Table1 следует удалить все связанные экземпляры из Table2. |
Ограничено |
Удаление из таблицы Table1 невозможно, если есть связанные экземпляры в таблице Table2. Например, значение Ограничено используется, чтобы указать, что удаление клиента невозможно при наличии в базе данных связанных заказов. |
Отмена связи |
Когда выполняется удаление из таблицы Table1, то ссылки на Table1 в связанных экземплярах в таблице Table2 получают значение null. |