LINQ Flashcards
Для чего нужен LINQ
Предоставляет единообразную модель для работы с данными в различных видах источников и форматов данных
Из каких частей состоит запрос
- Получение источника данных.
- Создание запроса.
- Выполнение запроса.
Что значит запрашиваемые типы
Типы, поддерживающие IEnumerable или производные интерфейсы, такие как универсальный IQueryable
Что указывает сформированный запрос
Какую информацию нужно извлечь из источника или источников данных, способ сортировки, группировки и формирования этих сведений перед возвращением
Виды синтаксиса запросов
- sql-подобный
- цепочка методов
Концепции выполнения запросов
- отложенное выполнение
- принудительное немедленное выполнение
Отложенное выполнение
Фактическое выполнение запроса откладывается до выполнения итерации переменной запроса в операторе foreach
Принудительное немедленное выполнение
Запросы, выполняющие статистические функции над диапазоном исходных элементов:
- Count
- Max
- Average
- First
- …
Основные операции запросов
- from (получение источника данных)
- where (фильтрация)
- order (порядок)
- group (группировка)
- join (объединение)
- select (проецирование)
Соединение нескольких входных последовательностей в одну выходную
(from … select …).Concat(from … select …)
Выбор подмножества каждого исходного элемента
- from … select new { … }
- from x … select x.Field
Какие отношения между типами бывают в операциях запросов
- запросы не выполняющие преобразования исходных данных данных
- запросы выполняющие преобразования исходных данных
- разрешение компилятору определять сведения о типе