Рубрики

LINQ (Language Integrated Query)

LINQ известен как Language Integrated Query и представлен в .NET 3.5 и Visual Studio 2008. Прелесть LINQ заключается в том, что он обеспечивает возможность языкам .NET (таким как C # , VB.NET и т. Д.) Генерировать запросы для получения данных. из источника данных. Например, программа может получать информацию из записей о студентах или о доступе к записям сотрудников и т. Д. В прошлые годы данные такого типа сохранялись в отдельной базе данных из приложения, и вам необходимо изучать различные типы языков запросов для доступа к ним. такие типы данных, как SQL, XML и т. д. А также вы не можете создать запрос, используя язык C # или любой другой язык .NET .

Чтобы преодолеть такие проблемы, Microsoft разработала LINQ. Он добавляет еще больше возможностей для языков C # или .NET, чтобы сгенерировать запрос для любого источника данных, совместимого с LINQ. И лучше всего то, что синтаксис, используемый для создания запроса, один и тот же, независимо от того, какой тип источника данных используется, означает, что синтаксис создания данных запроса в реляционной базе данных такой же, как и для создания данных запроса, хранящихся в массиве. нет необходимости использовать SQL или любой другой механизм, отличный от .NET . Вы также можете использовать LINQ с SQL, с файлами XML, с ADO.NET, с веб-службами и с любой другой базой данных.

В C # LINQ присутствует в пространстве имен System.Linq . Он предоставляет различные типы классов и методов, которые поддерживают запросы LINQ. В этом пространстве имен:

  • Класс Enumerable содержит стандартные операторы запросов, которые работают с объектом, который выполняет IEnumerable <T> .
  • Класс Queryable содержит стандартные операторы запросов, которые работают с объектом, который выполняет IQueryable <T> .

Архитектура LINQ

Архитектура LINQ является 3-х уровневой. В котором самый верхний уровень содержит расширение языка, а нижний уровень содержит источники данных, которые обычно являются объектами, реализующими универсальные интерфейсы IEnumerable <T> или IQueryable <T>. Архитектура LINQ показана на рисунке ниже:

Почему мы используем LINQ?

Теперь мы узнаем, почему создан LINQ или почему мы используем LINQ. Следующие пункты объясняют, почему мы используем LINQ.

  • Основная цель создания LINQ состоит в том, что до C # 3.0 мы использовали цикл for, цикл foreach или делегаты, перебирающие коллекцию для поиска конкретного объекта, но недостатком использования этих методов для поиска объекта является необходимость записи большой суммы код для поиска объекта, который требует больше времени и делает вашу программу менее читабельной. Поэтому для преодоления этих проблем введено LINQ. Они выполняют ту же операцию в несколько строк и делают ваш код более читабельным, а также вы можете использовать тот же код в других программах.
  • Он также обеспечивает полную проверку типов во время компиляции, помогает нам обнаруживать ошибки во время выполнения, поэтому мы можем легко их устранить.
  • LINQ — это простой, упорядоченный и высокоуровневый язык, чем SQL
  • Вы также можете использовать LINQ с C # массивом и коллекциями. Это дает вам новое направление для эффективного решения старых проблем.
  • С помощью LINQ вы можете легко работать с любым типом источника данных, таким как XML, SQL, сущности, объекты и т. Д. Один запрос может работать с любой базой данных без необходимости изучать различные типы языков.
  • LINQ поддерживает выражения запросов, неявно типизированные переменные, инициализаторы объектов и коллекций, анонимные типы, методы расширений и лямбда-выражения.

Преимущества LINQ

  • Пользователю не нужно изучать новые языки запросов для другого типа источника данных или формата данных.
  • Это повышает читаемость кода.
  • Запрос можно использовать повторно.
  • Это дает проверку типа объекта во время компиляции.
  • Он предоставляет IntelliSense для универсальных коллекций.
  • Может использоваться с массивом или коллекциями.
  • LINQ поддерживает фильтрацию, сортировку, упорядочение, группировку.
  • Это облегчает отладку, потому что он интегрирован с языком C #.
  • Это обеспечивает простое преобразование, что означает, что вы можете легко преобразовать один тип данных в другой тип данных, например преобразовать данные SQL в данные XML.

Рекомендуемые посты:

LINQ (Language Integrated Query)

0.00 (0%) 0 votes