Что такое LINQ to SQL?

Многие говорят об этом, но я не совсем понимаю что это такое

LINQ to SQL - инструмент ORM начального уровня, позволяющий выполнять мощные SQL-запросы.

В LINQ to SQL принято использовать класс, производный от DataContext. Имя производного класса обычно совпадает с именем базы данных, на которую он отображается. DataContext — это класс, устанавливающий соединение с базой данных. Он также предоставляет несколько служб, обеспечивающих отслеживание идентичности, отслеживание изменений и обработку этих изменений. DataContext — это класс, соединяющий с базой данных, отслеживающий то, что мы изменяем, и обновляющий базу данных при вызове метода SubmitChanges.

LINQ to SQL подразумевает использование сущностных классов, причем каждый из них обычно отображается на единственную таблицу базы данных. Однако, используя наследуемое отображение сущностных классов, при определенных условиях можно отобразить целую иерархию классов на единственную таблицу. Таким образом, мы имеем сущностные классы, отображенные на таблицы базы данных, и свойства сущностных классов, отображенные на столбцы этих таблиц. Это отображение "класс-таблица" и "свойство-столбец" являются сутью LINQ to SQL.

source - https://professorweb.ru/my/LINQ/linq_sql/level9/9_1.php