Академический Документы
Профессиональный Документы
Культура Документы
Введение в LINQ.
Что такое LINQ?
LINQ (Language-Integrated Query) представляет простой и удобный язык запросов к
источнику данных. В качестве источника данных может выступать объект,
реализующий интерфейс IEnumerable (например, стандартные коллекции, массивы),
набор данных DataSet, документ XML. Но вне зависимости от типа источника LINQ
позволяет применить ко всем один и тот же подход для выборки данных.
Существует несколько разновидностей LINQ:
• LINQ to Objects: применяется для работы с массивами и коллекциями
• LINQ to Entities: используется при обращении к базам данных через технологию
Entity Framework
• LINQ to Sql: технология доступа к данным в MS SQL Server
• LINQ to XML: применяется при работе с файлами XML
• LINQ to DataSet: применяется при работе с объектом DataSet
• Parallel LINQ (PLINQ): используется для выполнения параллельных запросов
Что такое LINQ?
LINQ - технология Microsoft, предназначенная для поддержки запросов к данным
всех типов на уровне языка. Эти типы включают массивы и коллекции в памяти, базы
данных, документы XML и многое другое.
По большей части LINQ ориентирован на запросы — будь то запросы, возвращающие
набор подходящих объектов, единственный объект или подмножество полей из
объекта либо набора объектов. В LINQ этот возвращенный набор
называется последовательностью (sequence). Большинство последовательностей
LINQ имеют тип IEnumerable<T>, где T — тип данных объектов, находящихся в
последовательности. Например, если есть последовательность целых чисел, они
должны храниться в переменной типа IEnumerable<int>. Вы увидите, что
IEnumerable<T> буквально господствует в LINQ и очень многие методы LINQ
возвращают IEnumerable<T>.
Может показаться, что LINQ — это нечто, связанное только с запросами, поскольку
расшифровывается как язык интегрированных запросов (Language Integrated Query).
Однако не думайте о нем лишь в этом контексте. Предпочтительнее воспринимать
LINQ как механизм итерации данных (data iteration engine), но возможно в Microsoft
не захотели обозначать эту технологию аббревиатурой DIE ("умереть").
Ключевое слово var
• Операция ToLookup создает объект Lookup типа <К, Т> или, возможно, <К, Е> из
входной последовательности типа T, где К — тип ключа, a T — тип хранимых
значений. Либо же, если Lookup имеет тип <К, E>, то типом хранимых значений
может быть Е, который отличается от типа элементов входной последовательности
Т.
• Хотя все прототипы операции ToLookup создают Lookup, возвращают они объект,
реализующий интерфейс ILookup. В этой статье объект, реализующий интерфейс
ILookup, обычно будет называться просто Lookup.
• Если вы незнакомы с классом Lookup коллекций C#, то знайте, что он позволяет
хранить элементы, которые могут быть извлечены по ключу. Каждый ключ должен
быть уникальным, и под одним ключом может быть сохранено множество
элементов. Обращение по индексу к Lookup с применением ключа извлекает
последовательность сохраненных с этим ключом элементов.
Операции First, FirstOrDefault, Last и LastOrDefault