English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Введение в LINQ

LINQ (Языковая интеграция запросов) - это единая структура запросов в C# и VB.NET, используемая для извлечения данных из различных источников и форматов. Она интегрирована в C# или VB, что устраняет несоответствие между языком программирования и базой данных, и предоставляет единственный интерфейс запроса для различных типов источников данных.

Например, SQL - это языковая структура запросов, используемая для хранения и извлечения данных из базы данных. Также, LINQ - это встроенная структура запросов в C# и VB.NET, используемая для извлечения данных из различных источников данных (например, собраний, DataSet ADO.Net, XML Docs, веб-сервисы, MS SQL Server и других баз данных).   

Запрос LINQ возвращает результаты в виде объектов. Это позволяет вам использовать объектно-ориентированные методы на наборах результатов, не беспокоясь о преобразовании результатов из различных форматов в объекты.          

Этот пример демонстрирует простой запрос LINQ, который извлекает все строки из массива, содержащие “a”.

// Источник данных
string[] names = {"Bill", "Steve", "James", "Mohan"};
// Запрос LINQ 
var myLinqQuery = from name in names
                where name.Contains('a')
                select name;
    
// Выполнение запроса
foreach(var name in myLinqQuery)
    Console.Write(name + " ");

В этом примере строковый массив names является источником данных. Вот запрос LINQ, который назначен переменной myLinqQuery.

from name in names
where name.Contains('a')
select name;

Этот запрос использует синтаксис запросов LINQ. Вы узнаете больше о синтаксисе запросов в главе “Синтаксис запросов”.

До выполнения запроса LINQ вы не получите его результатов. Запросы LINQ можно выполнять несколькими способами, и здесь мы используем цикл foreach для выполнения запроса, хранящегося в myLinqQuery. Цикл foreach выполняет запрос к источнику данных и получают результаты, затем итерируется по результатам.

Таким образом, каждый запрос LINQ должен обращаться к некоторому источнику данных, будь то массив, набор, XML или другая база данных. После написания запроса LINQ его необходимо выполнить, чтобы получить результаты.

В следующей главе вы узнаете, почему стоит использовать LINQ.