Как преобразовать SQL в запрос LINQ?

Опубликовано: 20 Февраля, 2023

Группа технологий, известная как Language-Integrated Query (LINQ), основана на прямой интеграции функций запросов в язык C#. Выражение запроса — это компонент LINQ, который больше всего выделяется разработчиками, пишущими запросы LINQ. Декларативный синтаксис запроса используется для написания выражений запроса. Фильтрацию, упорядочение и группировку можно выполнять в источниках данных с использованием синтаксиса LINQ с наименьшим объемом кода.

Преобразовать запрос SQL в LINQ:

LINQ аналогичен обращению SQL-запроса. В LINQ обязательные поля проецируются перед предложением where, как и в SQL-запросе. Однако в конце при использовании LINQ возникает проекция.

Формат запроса SQL и LINQ:

  • Формат SQL:

SELECT

FROM

WHERE

  • LINQ-формат:

FROM

WHERE

SELECT

Давайте рассмотрим вводный пример преобразования SQL в LINQ:

Запрос в формате SQL:

SELECT *
FROM Customers
WHERE last_name = "Robinson" AND country = "UK";

Запрос в формате LINQ:

FROM Customers
WHERE last_name = "Robinson" AND country = "UK";
SELECT *

Возьмем другой пример преобразования запроса SQL в LINQ с использованием языка C#:

SQL-запрос:

Запрос заключается в поиске имен из таблицы имен и из столбца записей, имя которых содержит букву «е».

SELECT name FROM records WHERE CONTAINS("e");

Преобразование SQL-запроса в LINQ на С#:

Пример 1:

C#




using System;
using System.Linq;
  
public class GFG
{
    public static void Main()
    {
        // Data source Or Database
        string[] records = {"Rajesh", "Geeks", "Utkarsh"
          , "Aaditya", "Sourabhe"};
          
        // LINQ Query 
        var Linq_query =  from name in records
                           where name.Contains("e")
                            select name;
          
        // Query execution
        foreach (var name in Linq_query)
            Console.Write(name + " ");
    }
}

Выход:

Разница между SQL и LINQ:

SQL LINQ
Это предметно-ориентированный язык, используемый для программирования и проектирования данных, которые находятся в СУБД. Это платформа Microsoft .NET, которая добавляет собственные возможности запроса данных.
Это язык структурированных запросов. Это язык интегрированных запросов.
Он состоит из собственных запросов данных. Он используется для поиска, сохранения и обновления в базе данных.