Использование источников данных в приложениях LightSwitch 2011
Разработка базы данных подразумевает установление отношений между созданными таблицами. Для этого в LightSwitch используется специальное диалоговое окно ( рис. 11.5):
Это окно позволяет выбрать связываемые таблицы и тип связей между ними (отношение многие – ко – многим не поддерживается). Тут же устанавливается поведение при удалении, возможны два варианта:
- Каскадное удаление – подразумевает автоматическое удаление записей из подчиненных таблиц при удалении связанной записи из главной таблицы;
- Ограниченный доступ – при возникновении конфликтов связанных записей выводится предупреждение.
Большое внимание разработчики LightSwitch уделили механизмам отбора записей из источников данных. Ими были использованы лучшие наработки других Object Relation mapping (ORM) и реализован как концептуально эффективный, так интерфейсно удобный механизм создания запросов. В его основе лежат запросы двух видов:
- уровня экрана;
- уровня источников данных.
Запросы уровня экрана связывают через общие переменные различные элементы экрана, обеспечивая механизм стандартного просмотра Мастер - Подробности.
Запрос уровня экрана строится на основе данных экрана, которые добавляются в момент создания экрана. Для создания запроса используется специальный дизайнер. Рассмотрим на примере создания такого типа запросов.
Рядом с именем источника данных расположена кнопка редактор запроса, которая запускает специальный дизайнер запросов для данных экрана ( рис. 11.6).
В этом дизайнере можно создавать критерии фильтрации данных, а также определять способ сортировки. Критерии могут быть основаны на фиксированных значениях их достаточно просто указать. Более общий случай состоит в использовании параметров. Для создания параметра можно использовать раздел Параметры, где с помощью ссылки Добавить параметр. Обычное условие фильтрации состоит из следующих частей:
- Приложение ГДЕ или ГДЕ НЕ.
- Поля для фильтрации (можно выбрать из списка).
- Оператор сравнения (выбирается из списка <=; =; >= и др.).
- Опция параметра указывается знаком @ (другие элементы списка Литерал, Свойство и Параметр).
- Имя параметра (при необходимости можно создать новый параметр).
После создания фильтра с параметром уровня экрана в конструкторе экрана необходимо создать переменную. В ней будет сохраняться значение параметра, и через нее будет осуществляться передача параметра в фильтр.
Для создания переменной используется кнопка Добавить элемент данных, которая вызывает специальное окно управления элементами данных для экрана ( рис. 11.8).
В этом окне необходимо выбрать переключатель Локальное свойство, определить тип переменной и задать ее имя (имя может точно соответствовать названию параметра для удобства).