Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Вы определяете запросы LINQ to SQL с помощью того же синтаксиса, что и в LINQ. Единственное различие заключается в том, что объекты, на которые ссылаются в запросах, сопоставляются с элементами в базе данных. Дополнительные сведения см. в разделе Введение в запросы LINQ (C#).
LINQ to SQL преобразует запросы, записываемые в эквивалентные SQL-запросы, и отправляет их на сервер для обработки. В частности, приложение использует API LINQ to SQL для запроса выполнения запросов. Затем поставщик LINQ to SQL преобразует запрос в текст SQL и делегирует выполнение поставщику ADO. Поставщик ADO возвращает результаты запроса в виде DataReader. Поставщик LINQ to SQL преобразует результаты ADO в коллекцию IQueryable пользовательских объектов.
Замечание
Большинство методов и операторов в встроенных типах .NET Framework имеют прямые переводы в SQL. То, что LINQ не может перевести, вызывает исключения во время выполнения. Дополнительные сведения см. в разделе SQL-CLR Сопоставление типов.
В следующей таблице показаны сходство и различия между элементами запроса LINQ и LINQ to SQL.
| Товар | Запрос LINQ | Запрос LINQ к SQL |
|---|---|---|
| Тип возвращаемой локальной переменной, содержащей запрос (для запросов, возвращающих последовательности) | Общий IEnumerable |
Общий IQueryable |
| Указание источника данных | Использует конструкцию (From для Visual Basic или from для C#) |
Тот же |
| Фильтрация | Использует Where/where условие |
Тот же |
| Группировка | Использует Group…By/groupby условие |
Тот же |
| Выбор (проектирование) | Использует Select/select условие |
Тот же |
| Отложенное и немедленное выполнение | Общие сведения о запросах LINQ (C#) | Тот же |
| Реализация операций объединения | Использует Join/join условие |
Может использовать Join/join предложение, но более эффективно использует AssociationAttribute атрибут. Для получения дополнительной информации см. раздел «Запросы по связям». |
| Удаленное и локальное выполнение | Дополнительные сведения см. в разделе "Удаленное и локальное выполнение". | |
| Потоковая передача и кэширование запросов | Неприменимо в сценарии локальной памяти |