Новые Лпр-ки. Веб ЛПР новые (1). Лабораторная работа Разработка базовой основы Web приложения 5 Упражнение Создание Web приложения 5
Скачать 1.04 Mb.
|
Courses by NameEnter a course name/> runat="server" ConnectionString="name=SchoolEntities" DefaultContainerName="SchoolEntities" EnableFlattening="False" EntitySetName="Courses" Include="Department" > Обратите внимание, что свойство Include элемента управления EntityDataSource устанавливается как Department. В базе данных таблица Course не содержит название кафедры, она содержит столбец внешнего ключа DepartmentID. Если бы вы выполняли запросы к базе данных напрямую для получения названия кафедры вместе с данными курса, вы должны были соединить таблицы Course курс и Department. Установив свойству Include значение Department, вы указали, что Entity Framework должен обеспечить получение соответствующего объекта Department, когда он получает объект Course. Объект Department затем хранится в навигационном свойстве объекта Course. После элемента EntityDataSource вставьте следующий код разметки для создания элемента QueryExtender, связанного с EntityDataSource: TargetControlID="SearchEntityDataSource" > Элемент SearchExpression определяет выражение поиска курса. Свойство SearchType определяется как StartsWith. Это означает, что поиск должен определить, совпадает ли строка поиска с какой-либо строкой в начале поля. Элемент OrderByExpression указывает, что набор результатов будет упорядочен по названию курса в названии кафедры. Обратите внимание, как указано название отдела: Department.Name. Поскольку связь между объектом Course и Department является один-к-одному, свойство навигации Department содержит сущность Department. Если бы это было отношения один-ко-многим, свойство содержало бы коллекцию. Чтобы получить названия кафедры, необходимо указать свойство Name сущности Department. Добавьте элемент GridView для отображения результатов требуемого запроса: DataKeyNames="CourseID" DataSourceID="SearchEntityDataSource" AllowPaging="true"> Первым столбцом является шаблонное поле, которое отображает название кафедры. Выражение привязки данных определяет Department.Name, как вы видели в элементе QueryExtender. Запустите страницу в обозревателе. Введите название курса и просмотрите результаты. Введите букву "m" и кликните кнопку Search для просмотра всех курсов, начинающихся с этой буквы. |