Книга "LINQ. Карманный справочник" посвящена технологии LINQ (Language Integrated Query) - новой функциональной возможности языка C# 3.0 и платформы .NET Framework, которая позволяет писать безопасные структурированные запросы к локальным коллекциям объектов и удаленным источникам данных. Рассмотрены базовые понятия LINQ, такие как отложенное выполнение, цепочки итераторов и распознавание типов в лямбда-выражениях, различие между локальными и интерпретируемыми запросами, синтаксис запросов C# 3.0, сравнение синтаксиса запросов с лямбда-синтаксисом, а также запросы со смешанным синтаксисом, составление сложных запросов, написание эффективных запросов LINQ для SQL, построение деревьев выражений, запросы LINQ для XML.
Для программистов .NET, Microsoft Visual Studio, C#, ADO.NET.
Cодержание
Карманный справочник 7
Основы 8
Лямбда-запросы 11
Цепочки операторов запросов 11
Составление лямбда-выражений 14
Естественный порядок элементов 18
Прочие операторы 18
Синтаксис, облегчающий восприятие запроса 20
Переменные итерации 23
Синтаксис, облегчающий восприятие, и SQL-синтаксис 23
Синтаксис, облегчающий восприятие, и лямбда-синтаксис 24
Запросы со смешанным синтаксисом 25
Отложенное выполнение 26
Повторное выполнение 28
Внешние переменные 29
Механика отложенного выполнения 30
Цепочки декораторов 33
Как выполняются запросы 34
Подзапросы 36
Подзапросы и отложенное выполнение 40
Стратегии построения сложных запросов 41
Последовательное построение запросов 41
Ключевое слово into 43
Создание оболочек для запросов 45
Стратегии проецирования 47
Инициализаторы объектов 47
Анонимные типы 48
Ключевое слово let 50
Интерпретируемые запросы 51
Как работают интерпретируемые запросы 55
Оператор AsEnumerable 59
Запросы LINQ к SQL 62
Классы сущностей в технологии LINQ к SQL 62
Объект DataContext 64
Автоматическое генерирование сущностей 68
Ассоциирование 70
Отложенное выполнение запросов LINQ к SQL 72
Класс DataLoadOptions 74
Обновления 76
Построение выражений запросов 80
Делегаты и деревья выражений 81
Деревья выражений 85
Обзор операторов 90
Фильтрация 93
Оператор Where 95
Операторы Take и Skip 98
Операторы TakeWhile и SkipWhile 99
Оператор Distinct 100
Проецирование 101
Оператор Select 101
Описание 102
Оператор SelectMany 110
Объединение 125
Операторы Join и GroupJoin 126
Упорядочивание 140
Операторы OrderBy, OrderByDescending, ThenBy и ThenByDescending 141
Группирование 146
Оператор GroupBy 146
Операции над множествами 152
Операторы Concat и Union 153
Операторы Intersect и Except 154
Методы преобразования 154
Операторы OfType и Cast 155
Операторы ToArray, ToList, ToDictionary и ToLookup 158
Операторы AsEnumerable и AsQueryable 159
Поэлементные операции 160
Операторы First, Last и Single 161
Оператор ElementAt 163
Оператор DefaultIfEmpty 164
Методы агрегирования 164
Операторы Count и LongCount 165
Операторы Min и Max 166
Операторы Sum и Average 167
Оператор Aggregate 169
Квантификаторы 170
Операторы Contains и Any 170
Операторы All и SequenceEqual 171
Методы генерирования коллекций 172
Метод Empty 172
Методы Range и Repeat 173
Запросы LINQ к XML 174
Обзор архитектуры 175
Обзор модели X-DOM 176
Загрузка и анализ 179
Сохранение и сериализация 180
Создание экземпляра дерева X-DOM 181
Функциональное конструирование 182
Указание содержимого 183
Автоматическое глубокое клонирование 185
Навигация и отправка запросов 186
Навигация по узлам-потомкам 187
Навигация по родительским элементам 192
Навигация по элементам одного уровня 193
Навигация по атрибутам 194
Редактирование дерева X-DOM 195
Обновление простых значений 196
Редактирование узлов-потомков и атрибутов 196
Обновление узла через его родителя 198
Работа со значениями 201
Установка значений 202
Чтение значений 203
Значения и узлы со смешанным содержимым 205
Автоматическая конкатенация элементов XText 206
Документы и объявления 207
Класс XDocument 207
XML-объявления 211
Имена и пространства имен 212
Указание пространства имен в модели X-DOM 215
X-DOM и пространства имен по умолчанию 217
Проецирование в модель X-DOM 222
Исключение пустых элементов 224
Проецирование в поток 226
Преобразование дерева X-DOM 228
Предметный указатель 231
Рассмотрены вопросы создания интерактивных Web-сайтов с помощью HTML, JavaScript, PHP и MySQL. Представлен материал о применении каскадных таблиц стилей (CSS) для форматирования Web-страниц. Даны основные конструкции языка PHP, на примерах показаны приемы написания сценариев, наиболее часто используемых при разработке Web-сайтов.
Многие из большинства хорошо узнаваемых веб-сайтов на планете используют в качестве платформы для доставки контента и функциональности своим посетителям систему Drupal. С выходом версии Drupal 7 началась новая эра управления контентом, при которой предлагаемые функциональные средства подняли планку того, что может быть достигнуто на веб-сайтах, на новую высоту.