Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
LINQ to SQL (запросы LINQ) — это компонент платформы .NET Framework 3.5, который реализует инфраструктуру времени выполнения для управления реляционными данными как объектами, сохраняя при этом возможность работы с запросами. Этот компонент переводит запросы, интегрированные в язык (LINQ), на язык SQL для выполнения в базе данных, а затем переводит полученные табличные данные обратно в определенные пользователем объекты. Затем приложение производит в этих объектах изменения, а LINQ to SQL в фоновом режиме автоматически их отслеживает.
Инфраструктура LINQ to SQL времени выполнения совместно со средствами разработки значительно снижает трудозатраты разработчика приложений для баз данных. Компонент LINQ to SQL не привязан к конкретному языку программирования. Любой язык, рассчитанный на его использование, может с его помощью производить запросы данных, хранящихся в реляционных базах данных.
Примечание
Реляционные данные поставляются в виде коллекции двумерных таблиц (связи или плоские файлы), где таблицы связаны по общим столбцам. Для эффективного использования компонента LINQ to SQL необходимо понимать базовые принципы работы реляционных баз данных.
LINQ to SQL в SQL Server Compact
По умолчанию SQL Server Compact 3.5 устанавливается для всех выпусков среды Microsoft Visual Studio 2008 и доступен на компьютере разработчика для использования с компонентом LINQ to SQL. Однако развертывание приложения, использующего SQL Server Compact 3.5 и LINQ to SQL, имеет отличия от процесса развертывания приложения SQL Server. Поскольку SQL Server Compact 3.5 представляет собой внедренную базу данных, поставщик и ядро содержатся в одном пакете.
Как и SQL Server, SQL Server Compact 3.5 устанавливается отдельно от среды .NET Framework. Однако SQL Server Compact 3.5 можно развернуть частным образом или внедрить приложение. Таким образом, использование локальных данных становится прозрачным для установщика приложения. SQL Server Compact 3.5 можно внедрить в приложение или воспользоваться установщиком SQL Server Compact 3.5 для Windows (файл SSCERuntime-<язык>.msi).
SQL Server Compact 3.5 представляет собой набор DLL-библиотек, которые могут работать непосредственно с файлами базы данных (SDF). DLL-файлы SQL Server Compact 3.5 имеют небольшой размер, что уменьшает общий размер приложения. Внедренное развертывание не требует для добавления функции локального хранилища данных прав администратора.
Ниже приведены преимущества использования компонента LINQ to SQL в SQL Server Compact 3.5.
Знакомый синтаксис SQL Server для написания запросов.
Проверка синтаксических ошибок и безопасности типов во время компиляции.
Улучшенная поддержка отладчика.
Поддержка технологии IntelliSense.
Мощные возможности фильтрации, упорядочивания и группирования.
Согласованная модель работы с данными в различных форматах и из множества источников.
Отличия от SQL Server
Набор функций SQL Server Compact 3.5 предоставляет для работы с локальными (внедренными) данными широкие возможности других версий SQL Server. При внедренном развертывании SQL Server Compact 3.5 поддерживает широкий выбор функциональных возможностей для работы с локальными данными, которые применяются во всех клиентах Microsoft — от мобильных устройств до настольных компьютеров. LINQ to SQL в SQL Server Compact 3.5:
поддерживает LINQ to SQL времени выполнения и средство для работы в командной строке;
поддерживает широкий набор типов данных и функций SQL Server;
поддерживает широкий набор конструкций SQL для работы с локальными данными;
оптимизатор запросов не рассчитан на работу с локальными данными и может привести к истечению времени ожидания, если запросы LINQ to SQL стали слишком сложными по сравнению с запросами SQL;
не поддерживает хранимые процедуры и представления;
не поддерживает конструктор реляционных объектов;
не поддерживает частичный уровень доверия.
Чтобы оптимизировать производительность LINQ to SQL в SQL Server Compact 3.5, необходимо воспользоваться функцией компиляции запроса LINQ to SQL для предварительного создания запроса Transact-SQL. Везде, где это возможно, следует применять скомпилированные запросы. Кроме того, если не требуются обновления, объект DataContext компонента LINQ to SQL необходимо использовать в режиме «только для чтения». Приведенная ниже инструкция позволяет перевести DataContext в этот режим.
DataContext.ObjectTrackingEnabled=false