Главная » 2014»Август»19 » LINQ. Язык интегрированных запросов в C# 2010 для профессионалов
23:04
LINQ. Язык интегрированных запросов в C# 2010 для профессионалов
LINQ. Язык интегрированных запросов в C# 2010 для профессионалов - Благодаря этой книге, вы изучите следующие вопросы: Как эффективно задействовать все новые возможности языка C# 2010, связанные с LINQ, включая методы расширений, лямбда-выражения, анонимные типы данных и частичные методы. Как использовать LINQ to Objects для запроса информации из коллекций данных, расположенных в памяти, таких как массивы, ArrayList и списки. Почему некоторые запросы являются отложенными, как они влияют на код, и каким образом заставить их работать максимально эффективно. Как использовать LINQ to XML для создания, манипулирования и поиска в XML-данных. Как осуществлять запросы в наборы данных с помощью LINQ to DataSet, сосуществуя с унаследованным кодом, и как использовать LINQ для работы с базами данных, отличными от SQL Server. Как запрашивать базы данных посредством LINQ to SQL, создавать собственные сущностные классы и обрабатывать конфликты параллельного доступа. Книга рассчитана на программистов разной квалификации, а также будет полезна для студентов и преподавателей дисциплин, связанных с программированием и разработкой для .NET.
Название: LINQ. Язык интегрированных запросов в C# 2010 для профессионалов Автор: Адам Фримен, Джозеф С. Раттц Издательство: Вильямс Год: 2011 Страниц: 656 Формат: PDF Размер: 10,1 МБ ISBN: 978-5-8459-1701-0 Качество: Отличное Серия или Выпуск: Expert's Voice Язык: Русский
Содержание:
Об авторах О техническом рецензенте Благодарности От издательства Исходный код примеров Часть I. LINQ: язык интегрированных запросов в C# 2010 Глава 1. Знакомство с LINQ Сдвиг парадигмы Запрос к XML Запрос к базе данных SQL Server Появление LINQ LINQ поддерживает запросы данных Как получить LINQ LINQ предназначен не только для запросов Советы начинающим Используйте ключевое слово var, когда запутались Используйте операции Cast или OfType для унаследованных коллекций Отдавайте предпочтение операции OfType перед Cast Не рассчитывайте на безошибочность запросов Используйте преимущество отложенных запросов Используйте свойство Log из DataContext Используйте форум LINQ Резюме Глава 2. Расширения языка C# для LINQ Дополнения языка C# Лямбда-выражения Деревья выражений Ключевое слово var, инициализация объектов и анонимные типы Расширяющие методы Частичные методы Выражения запросов Резюме Часть II. LINQ to Objects Глава 3. Введение в LINQ to Objects Обзор LINQ to Objects Интерфейс IEnumerable<T>, последовательности и стандартные операции запросов Возврат IEnumerable<T>, выдача и отложенные запросы Делегаты Func Алфавитный указатель стандартных операций запросов История о двух синтаксисах Резюме Глава 4. Отложенные операции Необходимые пространства имен Необходимые сборки Общие классы Организация отложенных операций по назначению Ограничение Проекция Разбиение Конкатенация Упорядочивание Соединение Группирование Множества Преобразование Элемент Генерация Резюме Глава 5. Не отложенные операции Необходимые пространства имен Общие классы Организация не отложенных операций по назначению Преобразование Эквивалентность Элемент Квантификаторы Агрегация Резюме Часть III. LINQ to XML Глава 6. Введение в LINQ to XML Введение Обман W3C DOM XML API Резюме Глава 7. Интерфейс LINQ to XML API Необходимые пространства имен Значимые проектные усовершенствования API-интерфейса Конструирование деревьев XML было упрощено с помощью функционального конструирования Центральная роль элемента вместо документа Имена, пространства имен и префиксы Извлечение значения узла Объектная модель LINQ to XML Отложенное выполнение запросов, удаление узлов и «проблема Хэллоуина» Создание XML Создание элементов с помощью XElement Создание атрибутов с помощью XAttribute Создание комментариев с помощью XComment Создание контейнеров с помощью XContainer Создание объявлений с помощью XDeclaration Создание типов документов с помощью XDocumentType Создание документов с помощью XDocument Создание имен с помощью XName Создание пространств имен с помощью XNamespace Создание узлов с помощью XNode Создание инструкций обработки с помощью XProcessingInstruction Создание потоковых элементов с помощью XStreamingElement Создание текста с помощью XText Создание CData с помощью XCData Вывод XML Сохранение с помощью XDocument. Save() Сохранение с помощью XElement. Save() Ввод XML Загрузка с помощью XDocument. Load() Загрузка с помощью XElement. Load() Разбор содержимого с помощью методов XDocument. Parse() или XElement. Parse() Обход XML Свойства обхода Обход вперед с помощью XNode. NextNode Обход назад с помощью XNode. PreviousNode Методы обхода Модификация XML Добавление узлов Удаление узлов Обновление узлов Вызов XElement. SetElementValue() на дочерних объектах XElement Атрибуты XML Создание атрибута Обход атрибутов Модификация атрибутов Аннотации XML Добавление аннотаций с помощью XObject. AddAnnotation() Обращение к аннотациям с помощью XObject. Annotation() или XObject. Annotations() Удаление аннотаций с помощью XObject. RemoveAnnotations() Пример аннотаций События XML XObject. Changing XObject. Changed Несколько примеров событий Трюк, забава или неопределенность? Резюме Глава 8. Операции LINQ to XML Введение в операции LINQ to XML Ancestors Прототипы Примеры AncestorsAndSelf Прототипы Примеры Attributes Прототипы Примеры DescendantNodes Прототипы Примеры DescendantNodesAndSelf Прототипы Примеры Descendants Прототипы Примеры DescendantsAndSelf Прототипы Примеры Elements Прототипы Примеры InDocumentOrder Прототипы Примеры Nodes Прототипы Примеры Remove Прототипы Примеры Резюме Глава 9. Дополнительные возможности LINQ to XML Необходимые пространства имен Запросы Отсутствие иерархического спуска Сложный запрос Трансформации Трансформации с использованием XSLT Трансформация с использованием функционального конструирования Советы Проверка достоверности Расширяющие методы Прототипы Получение схемы XML Примеры XPath Прототипы Примеры Резюме Часть IV. LINQ to DataSet Глава 10. Операции LINQ to DataSet Необходимые сборки Необходимые пространства имен Общий код для примеров Операции множеств DataRow Distinct Except Intersect Union SequenceEqual Операции над полями DataRow Field<T> SetField<T> Операции DataTable AsEnumerable CopyToDataTable<DataRow> Примеры Резюме Глава 11. Дополнительные возможности LINQ to DataSet Необходимые пространства имен Типизированные DataSet Собираем все вместе Резюме Часть V. LINQ to SQL Глава 12. Введение в LINQ to SQL Введение в LINQ to SQL DataContext Сущностные классы Ассоциации Обнаружение конфликтов параллельного доступа Разрешение конфликтов параллельного доступа Предварительные условия для запуска примеров Получение соответствующей версии базы данных Northwind Генерация сущностных классов Northwind Генерация XML-файла отображения Northwind Использование LINQ to SQL IQueryable<T> Некоторые общие методы GetStringFromDb() ExecuteStatementInDb() Резюме Глава 13. Советы и инструменты, связанные с LINQ to SQL Введение Советы Используйте свойство DataContext. Log Используйте метод GetChangeSet() Подумайте об использовании частичных классов или файлов отображения Подумайте об использовании частичных методов Инструменты SQLMetal Object Relational Designer Совместное использование SQLMetal и Object Relational Designer Резюме Глава 14. Операции LINQ to SQL для баз данных Предварительные условия для запуска примеров Некоторые общие методы Использование API-интерфейса LINQ to SQL Стандартные операции для баз данных Вставки Запросы Обновления Удаления Переопределение операторов модификации базы данных Переопределение метода Insert Переопределение метода Update Переопределение метода Delete Пример Переопределение в Object Relational Designer Соображения Трансляция SQL Резюме Глава 15. Сущностные классы LINQ to SQL Предварительные условия для запуска примеров Сущностные классы Создание сущностных классов XML-схема внешнего файла отображения Сравнение проекций на сущностные и на несущностные классы Расширение сущностных классов с помощью частичных методов Важные классы API-интерфейса System. Data. Linq EntitySet<T> EntityRef<T> Table<T> IExecuteResult ISingleResult<T> IMultipleResults Резюме Глава 16. Класс DataContext в LINQ to SQL Предварительные условия для запуска примеров Некоторые общие методы Использование API-интерфейса LINQ to SQL Класс [Your] DataContext Класс DataContext Класс DataContext реализует интерфейс IDisposable Основное назначение Время жизни контекста данных DataContext() и [Your] DataContext() SubmitChanges() DatabaseExists() CreateDatabase() DeleteDatabase() CreateMethodCallQuery() ExecuteQuery() Translate() ExecuteCommand() ExecuteMethodCall() GetCommand() GetChangeSet() GetTable() Refresh() Резюме Глава 17. Конфликты параллельного доступа LINQ to SQL Предварительные условия для запуска примеров Некоторые общие методы Использование API-интерфейса LINQ to SQL Конфликты параллелизма Оптимистический параллелизм Пессимистический параллелизм Альтернативный подход для средних звеньев и серверов Резюме Глава 18. Дополнительные возможности LINQ to SQL Предварительные условия для запуска примеров Использование API-интерфейса LINQ to SQL Использование API-интерфейса LINQ to XML Представления базы данных Наследование сущностных классов Транзакции Резюме Часть VI. LINQ to Entities Глава 19. Введение в LINQ to Entities Введение ObjectContext Сущностные классы Ассоциации Предварительные условия для запуска примеров Получение соответствующей версии базы данных Northwind Генерация сущностной модели данных Northwind Использование API-интерфейса LINQ to Entities IQueryable<T> Некоторые общие методы GetStringFromDo() ExecuteStatementInDb() Резюме Глава 20. Операции LINQ to Entities Предварительные условия для запуска примеров Некоторые общие методы Стандартные операции базы данных Вставки Запросы Обновления Удаления Удаление связанных объектов Управление параллельным доступом Включение проверок параллелизма Обработка конфликтов параллелизма Резюме Глава 21. Классы LINQ to Entities Предварительные условия для запуска примеров Класс ObjectContext Конструктор DatabaseExists() DeleteDatabase() CreateDatabase() SaveChanges() Refresh() AddObject() CreateObject() DeleteObject() EntityObject Конструктор Фабричный метод Примитивные свойства Навигационные свойства EntityReference Load() Value EntityCollection Add() Remove() Clear() Contains() Load() Count Резюме Часть VII. Parallel LINQ Глава 22. Введение в Parallel LINQ Введение Parallel LINQ предназначен для объектов Использование API-интерфейса Parallel LINQ Резюме Глава 23. Использование Parallel LINQ Создание запроса Parallel LINQ Предохранение порядка результатов Управление параллелизмом Принудительное параллельное выполнение Ограничение степени параллелизма Обработка исключений Запросы без результатов Создание диапазонов и повторов Резюме Глава 24. Операции Parallel LINQ Операции создания ParallelQuery AsParallel Range Repeat Empty Операции управления выполнением AsOrdered AsUnordered AsSequential AsEnumerable WithDegreeOfParallelism Прототипы WithExecutionMode WithMergeOptions Операции преобразования Cast OfType Операция ForAll Прототипы Примеры Резюме Предметный указатель